使用Proguard导出Android应用程序时出现以下错误(通过Eclipse中的ADT)。
“proguard.ParseException:期待开放'('或分隔符';'名称'之前'”
我看到升级Proguard和sdk解决了其他ProGuard解析错误问题;然而,在所有升级之后没有运气。有人见过这个/之前解决了吗?提前感谢您的帮助!
环境
ADT 22.0.1
Eclipse SDK 4.2.2
Android SDK 4.2,SDK工具rev 22
Proguard v4.9
控制台日志
Proguard返回错误代码1.请参阅控制台 proguard.ParseException:期望打开'('或分隔符';'之前 文件'〜/ project / bin / proguard.txt'第155行的'name',包括在 参数编号4 at proguard.ConfigurationParser.parseMemberSpecificationArguments(ConfigurationParser.java:966) 在 proguard.ConfigurationParser.parseClassSpecificationArguments(ConfigurationParser.java:729) 在 proguard.ConfigurationParser.parseKeepClassSpecificationArguments(ConfigurationParser.java:516) 在proguard.ConfigurationParser.parse(ConfigurationParser.java:165)at proguard.ProGuard.main(ProGuard.java:476)
来自项目的第55行
-keepclassmembers class * { * 方法名称(...); }
proguard.cfg
- 优化通过5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations!code / simplifiedification / arithmetic,!field / ,! class / merge /
-assumenosideeffects class android.util.Log { public static boolean isLoggable(java.lang.String,int); public static int v(...); public static int d(...); }
-printmapping out.map
-renamesourcefile属性SourceFile -keepattributes SourceFile,LineNumberTable
-keep public class * extends 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 -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 * { 原生的}
-keepclasseswithmembernames class * { public(android.content.Context,android.util.AttributeSet); }
-keepclasseswithmembernames class * { public(android.content.Context,android.util.AttributeSet,int); }
-keepclassmembers枚举* { public static * [] values(); public static * valueOf(java.lang.String); }
-keep class *实现android.os.Parcelable {public static final android.os.Parcelable $ Creator *; }
-keepclassmembers class * extends android.content.Context {public void *(android.view.View); public void *(android.view.MenuItem); }
-keepclassmembers class * .R $ { 公共静态; }
答案 0 :(得分:0)
我认为问题可能是:
你可以尝试:-keepclasseswithmembernames class * {native; }
-keepclasseswithmembernames class * {
native <methods>;
}