过时的proguard文件; 使用-keepclasseswithmembers而不是-keepclasseswithmembernames

Kha*_*aza 26 android proguard

我在android项目中的proguard.cfg文件中出现以下错误.我不知道这个错误说的是什么.任何的想法?

Him*_*ani 26

这是SDK工具v11的一个错误. http://code.google.com/p/android/issues/detail?id=16384

当Lint生成错误时

  • 转到lint警告视图(Window> Show View> Other> android> Lint Warnings)并双击错误修改proguard.cfg

  • 将"keepclasseswithmembernames"重命名为"keepclasseswithmembers",它显示错误并保存.

  • 再次运行Lint(单击Lint Warnings视图中的刷新)

  • 如果在后续行中显示进一步的警告,请重复重命名.

我改变了我的样子.

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class com.android.vending.licensing.ILicensingService

-keepclasseswithmembernames class * {
    native <methods>;
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}
Run Code Online (Sandbox Code Playgroud)


Sun*_*hoo 16

试试吧

清理并构建项目,然后在"问题"视图中选择错误标记,然后按"删除".

请参阅以下链接

http://groups.google.com/group/android-developers/browse_thread/thread/7606320e664fec9b

  • 这只是清除错误.但是,如果你有任何依赖于这种混淆的东西,那么它就会破裂.另一个答案是正确的. (2认同)