【问题标题】:Proguard Error Code 1: Proguard.ParseExceptionProguard 错误代码 1:Proguard.ParseException
【发布时间】:2014-11-22 06:40:24
【问题描述】:

当我收到此错误时,我正在尝试导出启用了 proguard 的 android 应用程序:-

 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)

proguard-project.txt 中的第 77-80 行:-

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

完成proguard-project:-

-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

关于如何解决此问题的任何想法,因为我的应用程序已全部完成,并且由于最后阶段的错误而无法发布它,这很糟糕。谢谢。

【问题讨论】:

    标签: android proguard publishing airpush


    【解决方案1】:

    我遇到了同样的错误,最后通过在 proguard-project.txt 文件中保留以下行来解决它

    -libraryjars /libs/Your_Jar_File.jar

    只需排除您认为引起您期望的 jar 文件。

    由于一个外部 jar 文件,我面临这个问题。 proguard 在哪里混淆它。就我而言,airpush jar 文件正在造成问题。只需排除它。

    【讨论】:

    • 是的,这里我们只是将它从 proguard 中排除。它保留在您的项目文件夹中。试试看。祝你好运。如果您觉得这很有用,请将其标记为已接受。
    • 仍然出现同样的错误。也许它的代码相关,因为它需要一个 java 类型就行了。
    • 在此处发布您的全部 proguard 内容。我会检查并告诉你解决方案。
    • 我编辑的帖子有完整的proguard内容,请仔细阅读。谢谢。
    • ==> 请详细说明您使用的是哪个 SDK ==> 您是否已将所有 Proguard 内容包含到他们建议的项目的 Proguard 文件中。 (如果您包括排除“android.gms”之外的那些==>并从错误中解脱出来包括“-libraryjars /libs/Your_Jar_File.jar”==>如果您从错误中解脱出来,只需更新您的 POST。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    • 1970-01-01
    相关资源
    最近更新 更多