Android - proguard.cfg 错误

标签 android proguard

我在一台新电脑上安装了 android SDK 后导入了一个旧项目。我在 eclipse 的“问题”窗口中收到以下错误。

Obsolete proguard file; use -keepclasseswithmembers instead of -keepclasseswithmembernames  proguard.cfg    /MyApplication  line 1

这是文件。我尝试用 -keepclasseswithmembers 替换此文件中的 -keepclasseswithmembernames,但没有帮助。

-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

-keepclasseswithmembernames class * {
    native <methods>;
}

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

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

最佳答案

这是我在 proguard 4.4、JDK 1.6 和目标 android 2.1 中使用的示例配置文件。 通过双击 jar 文件或使用 java -jar android-sdk/tools/proguard/lib/proguard.jar(使用 android sdk 安装路径)

检查您的混淆器版本
-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

-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 class * extends android.app.Activity {
   public void *(android.view.View);
}

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

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}

关于Android - proguard.cfg 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8650595/

相关文章:

java - file.exists() 当文件存在时返回 false

android - 无法修复 Android Proguard Returned with error code 1 错误

android - proguardFile 问题,返回 null : 1

android - 获取距离地理点 100 米的位置列表

java - Android 共享元素转换不适用于不同的 img 比例类型

Android 应用内结算和 Proguard(未知来源)

android - proguard 导致 google play 服务的 ActivityRecognitionResult getMostProbableActivity 崩溃

java - 如果 ProGuard 中存在注释,则构建失败

android - android 中的多部分请求问题 - 抛出 BAD REQUEST

android - 将数据从数据库发送到 Android 的最佳方式