2014-11-22 3 views
1

Я пытаюсь экспортировать мое приложение для Android с поддержкой ProGuard, когда я получаю эту ошибку: -Proguard Код ошибки 1: Proguard.ParseException

Proguard returned with error code 1. See console 
proguard.ParseException: Expecting java type before ' ' in line 79 of file 'C:\Documents and Settings\Acer.ACER-2487AA0235\My Documents\Eclipse\Myproject\proguard-project.txt', 
included from argument number 4 
at proguard.ConfigurationParser.checkJavaIdentifier(ConfigurationParser.java:1187) 
at proguard.ConfigurationParser.parseMemberSpecificationArguments(ConfigurationParser.java:842) 
at proguard.ConfigurationParser.parseClassSpecificationArguments(ConfigurationParser.java:697) 
at proguard.ConfigurationParser.parseKeepClassSpecificationArguments(ConfigurationParser.java:490) 
at proguard.ConfigurationParser.parse(ConfigurationParser.java:139) 
at proguard.ProGuard.main(ProGuard.java:484) 

Линии 77-80 из Proguard-project.txt: -

-keepclassmembers class * 
{ 
@android.webkit.JavascriptInterface <methods>; 
} 

Полный ProGuard-проект: -

-optimizationpasses 5 
-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-dontpreverify 
-verbose 
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 
-keepattributes *Annotation* 

-injars  bin/classes 
-injars  libs 
-outjars  bin/classes-processed.jar 

-libraryjars /libs/com-rfhtaej-vskwgkw207826.jar 


-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.preference.Preference 
-keep class com.rfhtaej.vskwgkw207826.** {*;} 
-dontwarn com.rfhtaej.vskwgkw207826.** 



-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 *; 
    } 

    -keepclasseswithmembers class **.R$** 
    { 
    public static <fields>; 
    } 

    -keepclassmembers class * 
    { 
    @android.webkit.JavascriptInterface<methods>; 
    } 
    -keep class * extends android.view.View 
    { 

     public <init>(android.content.Context); 
     public <init>(android.content.Context, android.util.AttributeSet); 
     public <init>(android.content.Context, android.util.AttributeSet, int); 
     void set*(***); 
     *** get*(); 
    } 

    -keepclassmembers class * 
    { 
     static final %    *; 
     static final java.lang.String *; 
    } 

-keep class * extends java.util.ListResourceBundle { 
    protected Object[][] getContents(); 
} 

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { 
    public static final *** NULL; 
} 

-keepnames @com.google.android.gms.common.annotation.KeepName class * 
-keepclassmembernames class * { 
    @com.google.android.gms.common.annotation.KeepName *; 
} 

-keepnames class * implements android.os.Parcelable { 
    public static final ** CREATOR; 
} 

-dontwarn com.google.android.gms.** 


-keepattributes SetJavaScriptEnabled 
-keepattributes JavascriptInterface 
-keepattributes InlinedApi 

Любые идеи о том, как решить эту проблему, поскольку мое приложение является полным, и это отстой, что я не могу опубликовать его из-за ошибки на последнем этапе. Спасибо.

ответ

1

я столкнулась с той же ошибки и, наконец, разобрались, держа строку ниже в файле ProGuard-project.txt

-libraryjars /libs/Your_Jar_File.jar

Просто исключить .jar файл, который когда-либо вы чувствую, что это вызывает у вас искушение.

Я столкнулся с этой проблемой из-за одного внешнего файла jar. Там, где proguard запутывает его. Как и в моем случае, файл jarpush создает проблему. Просто исключите это.

+0

Правильно ли работает воздушный клапан после исключения его фляги? – Mohit

+0

Да, здесь мы просто исключаем его из proguard. Он остается в папке проекта. Просто попробуйте. Удачи. Если вы считаете это полезным, отметьте его как принятое. – sri2377076

+0

Все те же ошибки. Возможно, его код связан с ожиданием типа Java на линии. – Mohit

Смежные вопросы