我在我的android項目中使用了google play服務庫。我沒有將它作爲一個jar包括,而是作爲我項目屬性中的一個庫項目。現在我得到一個錯誤如何在proguard中指定庫項目
無法執行DEX:不是在方法ID [0,爲0xFFFF]:65536
爲了解決這個計算器一個結果包括在ProGuard的庫中。
我已經通過指定jar文件的路徑在proguard中包含了庫jar文件。
如何在proguard中包含一個庫項目。
請幫
我在我的android項目中使用了google play服務庫。我沒有將它作爲一個jar包括,而是作爲我項目屬性中的一個庫項目。現在我得到一個錯誤如何在proguard中指定庫項目
無法執行DEX:不是在方法ID [0,爲0xFFFF]:65536
爲了解決這個計算器一個結果包括在ProGuard的庫中。
我已經通過指定jar文件的路徑在proguard中包含了庫jar文件。
如何在proguard中包含一個庫項目。
請幫
按照教程這裏獲取有關如何在ProGuard的使用庫和例外規則progouard
http://www.intellicode.in/using-proguard-for-android-project/
你不能只是「包括圖書館項目」的想法。你必須添加特定的規則。對於谷歌播放服務規則shown here
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
這些走在proguard-project.txt
文件在您的項目根。
我的問題是我的應用程序超過了65536個方法,單獨的goole play服務庫有30k個方法左右。我使用谷歌播放服務庫的原因是在我的應用程序中實現谷歌地圖。我想讓proguard從這個庫中去除所有未使用的方法。上面提到的代碼是爲了防止proguard剝離權嗎? – user3008777 2014-11-06 08:12:51