Java,J2EE,Weblogic,Oracle

          java項目隨筆
          隨筆 - 90, 文章 - 6, 評論 - 61, 引用 - 0
          數據加載中……

          Android編程之解決android-support-v4打包問題

          如果工程引入了Android-support-v4的jar類庫,那么在工程打包混淆時,就會出現報錯提示。例如提示你:You may need to specify additional library jars (using '-libraryjars')。

          這里先給出解決方案,稍后我們再來解釋如何處理類似情況:

          在proguard.cfg里的后面,添加如下內容:

          1.-libraryjars /android-support-v4.jar 
          2.-dontwarn android.support.v4.** 
          3.-keep class android.support.v4.** { *; }  4.-keep public class * extends android.support.v4.**  5.-keep public class * extends android.app.Fragment  然后你再打包看看,應該可以正常生成apk安裝包了。

          打包出錯:
          情況一:
           "類1 can't find referenced class 類2" 字面上的意思就是類1找不到類2的引用;它會建議你:"You may need to specify additional library jars (using '-libraryjars').";
          需要使用-libraryjars加上項目中使用到的第三方庫就OK了。
          例如:-libraryjars /android-support-v4.jar
          注意:這里引用方式是當前工程的根目錄(也可以配置其他目錄),也就是說,你要把第三方jar放到當前目錄下,否則就會警告說找不到jar文件!

          情況二:
          例如: can't find superclass or interface android.os.Parcelable$ClassLoaderCreator,碰到這樣的情況,可以使用-dontwarn com.xx.yy.**,不對錯誤提出警告。
          注意:使用這個方式的話,要確保自己沒有用到這個庫里面的類!否則就會拋ClassNotFoundException!

          情況三:
          在工程中確實用到了該類,采用上面方式還是不行。這個時候就要再增加一項:-keep class com.xx.yy.** { *;},讓當前類不混淆。

          小結:
          對于引用第三方包的情況,可以采用下面方式避免打包出錯:
          -libraryjars /aaa.jar
          -dontwarn com.xx.yy.**
          -keep class com.xx.yy.** { *;}

          最后打包成功,還要在機子上跑跑,看看有沒有問題。



          原文鏈接:http://www.linuxidc.com/Linux/2012-07/66798.htm

          posted on 2012-10-13 19:06 龔椿深 閱讀(989) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網站導航:
           
          主站蜘蛛池模板: 东宁县| 轮台县| 南江县| 兴和县| 巴彦淖尔市| 新泰市| 石台县| 股票| 鲁山县| 平利县| 遂昌县| 鹤壁市| 宜君县| 昂仁县| 阿克苏市| 德兴市| 方城县| 平江县| 莱芜市| 瑞昌市| 原阳县| 牙克石市| 苍南县| 大同市| 工布江达县| 白水县| 富源县| 景德镇市| 长汀县| 吴旗县| 九龙坡区| 绥芬河市| 河北省| 洛阳市| 临沧市| 东乡| 扶余县| 扶沟县| 安宁市| 阿克苏市| 桦川县|