首页 文章

使用ProGuard导出Android应用程序会出现ParseException错误

提问于
浏览
7

使用Proguard导出Android应用程序(通过Eclipse中的ADT)时出现以下错误 .

“proguard.ParseException:期待开放'('或分隔符';'在'名称'之前'”

我看到升级Proguard和sdk解决了其他ProGuard解析错误问题;然而,在所有升级之后没有运气 . 有谁见过这个/解决过这个问题?预先感谢您的帮助!

Environment

ADT 22.0.1 Eclipse SDK 4.2.2 Android SDK 4.2,SDK工具rev 22 Proguard v4.9

Console log

Proguard返回错误代码1.请参阅控制台proguard.ParseException:期望在参数4中包含的文件'〜/ project / bin / proguard.txt'第155行打开'('或'分隔符';'名称'之前''在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)

Line 55 from project

-keepclassmembers class * {*方法名称(...); }

proguard.cfg

-optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations!code / simplification / 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 -renamesourcefileattribute SourceFile -keepattributes SourceFile,LineNumberTable -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; -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 $ {public static; }

1 回答

  • 0

    我认为问题可能是:

    -keepclasseswithmembernames class * {native; }

    你可以尝试:

    -keepclasseswithmembernames class * { 
        native <methods>; 
    }
    

相关问题