如何在proguard中指定库项目

时间:2014-11-06 07:03:25

标签: android proguard

我在我的android项目中使用谷歌播放服务库。我不是将它包含在jar中,而是作为项目属性中的库项目。现在我收到错误

无法执行dex:方法ID,而不是[0,0xffff]:65536

要解决此问题,请将stackoverflow结果包含在proguard中。

我通过指定jar文件的路径在proguard中包含了库jar文件。

如何在proguard中包含库项目。

请帮忙

2 个答案:

答案 0 :(得分:0)

按照此处的教程了解如何使用progouard的库和例外规则

http://www.intellicode.in/using-proguard-for-android-project/

答案 1 :(得分:0)

您不能只在ProGuard中“包含库项目”。您必须添加特定规则。 Google Play服务的规则为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文件中。