我最近安装了ADT 16,现在突出显示了一个问题,即我有一个过时的选项-keepclasseswithmembernames而不是-keepclasseswithnames。我已经修复了proguard.cfg文件,但lint拒绝识别修复程序并阻止Eclipse构建文件。
我当前的proguard.cfg文件:
-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 * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-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 *;
}
答案 0 :(得分:9)
刚遇到同样的问题。我在proguard.cfg中将-keepclasseswithmembernames
更改为-keepclasseswithmembers
后,点击了Lint Warnings窗口(右上角)中的刷新按钮修复了它。
答案 1 :(得分:1)
在Lint警告窗口中,选择警告并单击“忽略类型按钮”(右上角,看起来像橡皮擦或其他东西)。
之后,转到http://b.android.com并提交错误。
更新:ADT无法刷新非Java和非XML文件,这里是问题的链接:
http://code.google.com/p/android/issues/detail?id=23196
正如较新的答案所示,点击“刷新”将清除错误。
答案 2 :(得分:1)
只需点击顶部工具栏中的“运行Android Lint”按钮即可。通常是“Android SDK Manager”旁边的按钮
答案 3 :(得分:0)
如果您的Eclipse构建在某种程度上变得混乱(比如在这种情况下),您通常只需使用 Project-&gt; Clean (这将导致构建开始)使Eclipse再次正确从头开始)。
至少对我来说,它还会再次调用Android Lint并清除类似的过时错误标记。