Android 过时的proguard文件;使用-keepclassswithmembers而不是-keepclassswithmembernames

Android 过时的proguard文件;使用-keepclassswithmembers而不是-keepclassswithmembernames,android,proguard,Android,Proguard,我的android项目中的proguard.cfg文件出现以下错误。我不知道这个错误说明了什么。有什么想法吗?试试看 清理并生成项目,然后在“问题”视图中选择错误标记,然后 按Delete 请参阅以下链接 这是SDK工具v11的一个bug。 当Lint产生错误时 转到lint warnings视图(窗口>显示视图>其他>android>lint warnings),双击错误以修改proguard.cfg 在显示错误并保存的行上将“keepclasseswithmembernames”重命名为

我的android项目中的proguard.cfg文件出现以下错误。我不知道这个错误说明了什么。有什么想法吗?

试试看

清理并生成项目,然后在“问题”视图中选择错误标记,然后 按Delete

请参阅以下链接


这是SDK工具v11的一个bug。

当Lint产生错误时

  • 转到lint warnings视图(窗口>显示视图>其他>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 *;
}
-优化过程5
-dontusemixedcaseclassnames
-DontskipnonPublicLibraryClass
-不要翻转
-冗长的
-优化!代码/简化/算术,!字段/*,!类/合并/*
-keep public class*扩展android.app.Activity
-keep public class*扩展android.app.Application
-keep public class*扩展了android.app.Service
-keep public class*扩展了android.content.BroadcastReceiver
-keep public class*扩展了android.content.ContentProvider
-保持公共类com.android.vending.licensing.ILicensingService
-KeepClassSwithMemberNames类*{
本地人;
}
-keepclassswithmembers类*{
public(android.content.Context、android.util.AttributeSet);
}
-keepclassswithmembers类*{
public(android.content.Context,android.util.AttributeSet,int);
}
-keepclassmembers枚举*{
公共静态**[]值();
公共静态**valueOf(java.lang.String);
}
-keep class*实现android.os.Parcelable{
公开静态最终android.os.Parcelable$Creator*;
}

这只是清除错误。然而,如果你有任何依赖于这种模糊处理的东西,它就会崩溃。另一个答案是正确的。