Android studio无法在proguard错误配置中生成签名的APK

时间:2017-11-20 22:29:21

标签: android android-studio android-proguard

我遇到生成签名APK的问题。

enter image description here

,这里是proguard-rules.pro文件

-assumenosideeffects class android.util.Log {
    public static int v(...);
    public static int d(...);
}

# Required to preserve the Flurry SDK
#-keep class com.flurry.** { *; }
#-dontwarn com.flurry.**
#-keepattributes *Annotation*,EnclosingMethod,Signature
#-keepclasseswithmembers class * {
#   public (android.content.Context, android.util.AttributeSet, int);
# }

 # Google Play Services library
 -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;
 }

以及以下行

中描述的错误
 # Google Play Services library
 -keep class * extends java.util.ListResourceBundle {
   protected Object[ ][ ] getContents();
}

和使用的lib版本是

  • minSdkVersion = 19
  • targetSdkVersion = 27
  • compileSdkVersion = 27
  • buildToolsVersion = '27 .0.0'
  • supportLibraryVersion = '27 .0.1'
  • gmsVersion = '11 .6.0'
  • firebaseVersion = '11 .6.0'

classpath'com.android.tools.build:gradle:3.0.1'

classpath'com.google.gms:google-services:3.1.0'

我需要帮助,问题是什么,以及如何解决?

注意:我没有通过USB在我的设备上运行应用程序的问题,但我无法生成APK以供发布。

1 个答案:

答案 0 :(得分:0)

首先,感谢@MatPag,您对上述问题的评论是正确的,此外还有另外一个解决此问题的补充:

  1. 数组的方括号中间没有空格。像这样:protected Object [] [] getContents();
  2. 我必须将以下两行添加到proguard文件

    -ignorewarnings

    -keep class * {     公共私人*; }

  3. 此解决方案位于here