更新到Android SDK 23时,ProGuard失败

时间:2016-01-13 16:22:05

标签: android android-6.0-marshmallow android-proguard

我正在尝试将Umweltzone Android application更新为SDK 23.因此,我按如下方式更改项目配置:

// Excerpt from Umweltzone/build.gradle
compileSdkVersion 23
// ...
compile "com.android.support:design:23.1.1"

当我构建发布版本时,失败并出现此错误(拖尾部分):

  

...
  注意:有3个未知类的引用         您应该检查您的配置是否有拼写错误         (http://proguard.sourceforge.net/manual /troubleshooting.html#unknownclass)

     

注意:有2个类试图使用访问封闭类   反思。
        您应该考虑保留内部类属性         (使用' -keepattributes InnerClasses')         (http://proguard.sourceforge.net/manual/troubleshooting.html#attributes

     

注意:保留的类成员中有100个unkept描述符类。         您应该考虑明确保留上述类         (使用' -keep')         (http://proguard.sourceforge.net/manual/troubleshooting.html#descriptorclass

     

注意:有5个未解析的类或动态引用   接口。
        您应该检查是否需要指定其他程序罐         (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass

     

注意:通过以下方式对班级成员进行了3次访问   自省。
        您应该考虑明确保留提到的类成员         (使用' -keep'或' -keepclassmembers')。
        (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclassmember

     

警告:库类成员有1个未解析的引用            您可能需要更新库版本            (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember

     

警告:处理任务java.io.IOException时出现异常:请   首先纠正上述警告   :Umweltzone:transformClassesAndResourcesWithProguardForRelease FAILED

     

失败:构建因异常而失败。

     
      
  • 出了什么问题:任务执行失败':Umweltzone:transformClassesAndResourcesWithProguardForRelease'。
      > java.io.IOException:请先纠正上述警告。
  •   

发布版本适用于SDK 22.可以找到ProGuard配置here。完整的构建输出可以找到here,因为由于长度限制,StackOverflow不允许我粘贴在这里。

1 个答案:

答案 0 :(得分:3)

坚持错误信息,即首先纠正上述警告

以上警告是:

com.google.android.gms.auth.GoogleAuthUtil: can't find referenced method
'void setLatestEventInfo(android.content.Context,java.lang.CharSequence,
java.lang.CharSequence,android.app.PendingIntent)' in library class android.app.Notification

最有可能的是,您不需要这种方法。因此,您可以通过在proguard配置中添加以下行来消除警告:

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