Экспорт приложения Android с помощью ProGuard дает ошибку ParseException

Я получаю следующую ошибку при экспорте приложения Android с помощью Proguard (через ADT из Eclipse).

"proguard.ParseException: Ожидается открытие '(' или разделитель ';' перед 'именем'"

Я вижу, что другие проблемы с ошибками синтаксического анализа ProGuard были решены обновлением Proguard и sdk; однако после всех обновлений здесь не повезло. Кто-нибудь видел это / решил это раньше? Заранее спасибо за вашу помощь!

Окружающая среда

ADT 22.0.1

Eclipse SDK 4.2.2

Android SDK 4.2, SDK Tools ред. 22

Proguard v4.9

Журнал консоли

Proguard вернул код ошибки 1. См. Консоль proguard.ParseException: Ожидается открытие '(' или разделителя ';' перед 'name' в строке 155 файла '~ / project / bin / proguard.txt', включенного из аргумента номер 4 в proguard.ConfigurationParser.parseMemberSpecificationArguments (ConfigurationParser.java:966) в proguard.ConfigurationParser.parseClassSpecificationArguments (ConfigurationParser.java:729) в proguard.ConfigurationParser.parseKeepserfiguration.java: ) в proguard.ProGuard.main (ProGuard.java:476)

Строка 55 из проекта

-keepclassmembers класс * {* имя метода (...); }

proguard.cfg

-optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations! код / ​​упрощение / арифметика,! field / ,! class / merging /

-assumenosideeffects class android.util.Log {общедоступное статическое логическое значение isLoggable (java.lang.String, int); общедоступный статический интервал v (...); общедоступный статический 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 класс * {public (android.content.Context, android.util.AttributeSet, int); }

-keepclassmembers перечисление * {общедоступные статические * [] значения (); общедоступный статический * valueOf (java.lang.String); }

-keep class * реализует android.os.Parcelable {public static final android.os.Parcelable $ Creator *; }

-keepclassmembers класс * расширяет android.content.Context {public void * (android.view.View); public void * (android.view.MenuItem); }

-keepclassmembers класс * .R $ {общедоступный статический; }


person A.T.    schedule 10.07.2013    source источник
comment
Вы нашли решение?   -  person cottonBallPaws    schedule 04.09.2013


Ответы (1)


я думаю, проблема может быть в следующем:

-keepclasseswithmembernames class * {native; }

вы можете попробовать:

-keepclasseswithmembernames class * { 
    native <methods>; 
}
person doga    schedule 21.05.2015