使用 Proguard(通过 Eclipse 中的 ADT)导出 Android 应用程序时出现以下错误。
“proguard.ParseException: 期望在 'name' 之前打开 '(' 或分隔符 ';'”
我看到通过升级 Proguard 和 sdk 解决了其他 ProGuard 解析错误问题;但是,在所有升级之后,这里没有运气。有人见过这个/解决过这个吗?预先感谢您的帮助!
环境
ADT 22.0.1
Eclipse SDK 4.2.2
Android SDK 4.2,SDK 工具第 22 版
Proguard v4.9
控制台日志
Proguard 返回错误代码 1。请参阅控制台 proguard.ParseException: Expecting opening '(' or separator ';' before 'name' in line 155 of file '~/project/bin/proguard.txt',包括在参数号 4 中proguard.ConfigurationParser.parseMemberSpecificationArguments(ConfigurationParser.java:966) 在 proguard.ConfigurationParser.parseClassSpecificationArguments(ConfigurationParser.java:729) 在 proguard.ConfigurationParser.parseKeepClassSpecificationArguments(ConfigurationParser.java:516) 在 proguard.ConfigurationParser.parse(ConfigurationParser.java:165) ) 在 proguard.ProGuard.main(ProGuard.java:476)
项目55号线
-keepclassmembers 类 * { *方法名(...); }
proguard.cfg
-optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations !code/simplification/arithmetic,!field/ ,!class/merging/
-assumenosideeffects class android.util.Log { public static boolean isLoggable(java.lang.String, int); 公共静态 int v(...); 公共静态 int d(...); }
-printmapping out.map
-renamesourcefileattribute SourceFile -keepattributes SourceFile,LineNumberTable
-keep 公共类 * 扩展 android.app.Activity -keep 公共类 * 扩展 android.app.Application -keep 公共类 * 扩展 android.app.Service -keep 公共类 * 扩展 android.content.BroadcastReceiver -keep 公共类 * 扩展android.content.ContentProvider -keep 公共类 * 扩展 android.app.backup.BackupAgentHelper -keep 公共类 * 扩展 android.preference.Preference -keep 公共类 com.android.vending.licensing.ILicensingService
-keepclasseswithmembernames class * { native ; }
-keepclasseswithmembernames class * { public (android.content.Context, android.util.AttributeSet); }
-keepclasseswithmembernames class * { public (android.content.Context, android.util.AttributeSet, int); }
-keepclassmembers enum * { public static * [] values(); 公共静态 * valueOf(java.lang.String); }
-keep 类 * 实现 android.os.Parcelable { public static final android.os.Parcelable$Creator *; }
-keepclassmembers 类 * 扩展 android.content.Context { public void *(android.view.View); 公共无效*(android.view.MenuItem);}
-keepclassmembers 类 * .R$ { public static ; }