我在我的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