Android 开发者工具 16 和混淆器中的 -keepclasseswithmembers 问题

标签 android proguard

我最近安装了 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 *;
}

最佳答案

刚遇到同样的问题。在将 proguard.cfg 中的 -keepclasseswithmembernames 更改为 -keepclasseswithmembers 之后,我通过单击 Lint Warnings 窗口(右上角)中的刷新按钮来修复它。

关于Android 开发者工具 16 和混淆器中的 -keepclasseswithmembers 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8491929/

相关文章:

android - Android 上的 Firebase 需要什么 ProGuard 配置?

android - android.intent.action.DOWNLOAD_COMPLETE 是显式广播吗?

java - 运行 "Android update project --path ."返回无效的参数数量

java - 在Java源代码中隐藏密码

android - 混淆文件夹结构 - Android

Android R8 不混淆类名

proguard:保留带有参数列表的方法

android - RecyclerView viewholder 中的动态项目

安卓 WebView : Mailto Unable to Implement

android - 具有无限持续时间的 Crouton 自定义 View