更新Android Studio 3.1后,我会在每次构建后收到这些警告

时间:2018-04-02 12:43:45

标签: android android-studio compiler-warnings android-proguard android-studio-3.1

Android问题警告

  1. 从1方法中删除了无效的本地信息。
  2.   

    从1方法中删除无效的本地信息。   消息{kind = WARNING,text =从1方法中删除无效的本地信息。,sources = [未知源文件],工具名称= Optional.of(D8)}

    1. InnerClass注释缺少相应的EnclosingMember注释。这样的InnerClass注释被忽略。
    2.   

      InnerClass注释缺少相应的EnclosingMember注释。这样的InnerClass注释被忽略。   消息{kind = WARNING,text = InnerClass注释缺少相应的EnclosingMember注释。这样的InnerClass注释被忽略。,sources = [未知源文件],工具名称= Optional.of(D8)}

      1. 找不到类型org.w3c.dom.bootstrap.DOMImplementationRegistry,默认或静态接口方法需要void com.fasterxml.jackson.databind.ext.DOMSerializer.<init>()
      2.   

        找不到类型org.w3c.dom.bootstrap.DOMImplementationRegistry,默认或静态接口方法需要void com.fasterxml.jackson.databind.ext.DOMSerializer.<init>()   消息{kind = WARNING,text = Type org.w3c.dom.bootstrap.DOMImplementationRegistry未找到,默认或静态接口方法需要void com.fasterxml.jackson.databind.ext.DOMSerializer.<init>(),sources = [/ Users / deepanshusinha / git / OpenApp / OpenAppForce / app /build/intermediates/transforms/androidGradleClassShrinker/beta/debug/4/com/fasterxml/jackson/databind/ext/DOMSerializer.class],工具名称= Optional.of(D8)}

        Java编译器警告

        1. 规则`-keep public class * extends java.lang.annotation.Annotation {
        2.   

          警告:规则`-keep public class * extends java.lang.annotation.Annotation {

          对于java编译器警告,我试图修复我的proguard文件。这是我的proguard文件。让我知道如果我做错了什么。

          #Start Dto#
          -keep public class co.openapp.app.data.model.* {
            *;
          }
          #End Dto#
          
          #OkHttp3, Okio, Retrofit
          -dontwarn okhttp3.**
          -dontwarn okio.**
          -dontwarn javax.annotation.**
          
          #Start Okhttp#
          -dontwarn java.nio.file.**
          -dontwarn java.lang.invoke.**
          -dontwarn java.lang.reflect.Method
          #End Okhttp#
          
          #Start Retrofit#
          -dontwarn retrofit2.**
          -keep class retrofit2.** { *; }
          -keepattributes Signature
          -keepattributes Exceptions
          #End Retrofit#
          
          #Start Jackson
          -keepattributes *Annotation*,EnclosingMethod,Signature
          -keepnames class com.fasterxml.jackson.** { *; }
          -dontwarn com.fasterxml.jackson.databind.**
          -keep class org.codehaus.** { *; }
          -keepclassmembers public final enum 
          org.codehaus.jackson.annotate.JsonAutoDetect$Visibility {
              public static final 
          org.codehaus.jackson.annotate.JsonAutoDetect$Visibility *; }
          #End Jackson
          
          #Start Crashlytics#
          -keepattributes SourceFile,LineNumberTable
          #End Crashlytics#
          
          #dagger
          -dontwarn com.google.errorprone.annotations.**
          
          ##---------------Begin: proguard configuration common for all Android apps ----------
          -optimizationpasses 5
          -dontusemixedcaseclassnames
          -dontskipnonpubliclibraryclasses
          -dontskipnonpubliclibraryclassmembers
          -dontpreverify
          -verbose
          -dump class_files.txt
          -printseeds seeds.txt
          -printusage unused.txt
          -printmapping mapping.txt
          -optimizations 
          !code/simplification/arithmetic,
          
          -allowaccessmodification
          -keepattributes *Annotation*
          -renamesourcefileattribute SourceFile
          -keepattributes SourceFile,LineNumberTable
          -repackageclasses ''
          
          -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
          -dontnote com.android.vending.licensing.ILicensingService
          
          # Explicitly preserve all serialization members. The Serializable interface
          # is only a marker interface, so it wouldn't save them.
          -keepclassmembers class * implements java.io.Serializable {
              static final long serialVersionUID;
              private static final java.io.ObjectStreamField[] serialPersistentFields;
              private void writeObject(java.io.ObjectOutputStream);
              private void readObject(java.io.ObjectInputStream);
              java.lang.Object writeReplace();
              java.lang.Object readResolve();
          }
          
          # Preserve all native method names and the names of their classes.
          -keepclasseswithmembernames class * {
              native <methods>;
          }
          
          -keepclasseswithmembernames class * {
              public <init>(android.content.Context, android.util.AttributeSet);
          }
          
          -keepclasseswithmembernames class * {
              public <init>(android.content.Context, android.util.AttributeSet, int);
          }
          
          # Preserve static fields of inner classes of R classes that might be accessed
          # through introspection.
          -keepclassmembers class **.R$* {
            public static <fields>;
          }
          
          # Preserve the special static methods that are required in all enumeration classes.
          -keepclassmembers enum * {
              public static **[] values();
              public static ** valueOf(java.lang.String);
          }
          
          -keep public class * {
              public protected *;
          }
          
          -keep class * implements android.os.Parcelable {
            public static final android.os.Parcelable$Creator *;
          }
          ##---------------End: proguard configuration common for all Android apps ----------
          
          #---------------Begin: proguard configuration for support library  ----------
          -keep class android.support.v4.app.** { *; }
          -keep interface android.support.v4.app.** { *; }
          -keep class com.actionbarsherlock.** { *; }
          -keep interface com.actionbarsherlock.** { *; }
          
          # The support library contains references to newer platform versions.
          # Don't warn about those in case this app is linking against an older
          # platform version. We know about them, and they are safe.
          -dontwarn android.support.**
          -dontwarn com.google.ads.**
          ##---------------End: proguard configuration for Gson  ----------
          
          ##---------------Begin: proguard configuration for Gson  ----------
          # Gson uses generic type information stored in a class file when working with fields. Proguard
          # removes such information by default, so configure it to keep all of it.
          -keepattributes Signature
          
          # For using GSON @Expose annotation
          -keepattributes *Annotation*
          
          # Gson specific classes
          -keep class sun.misc.Unsafe { *; }
          #-keep class com.google.gson.stream.** { *; }
          
          # Application classes that will be serialized/deserialized over Gson
          -keep class com.example.model.** { *; }
          
          ##---------------End: proguard configuration for Gson  ----------
          

2 个答案:

答案 0 :(得分:5)

仅供参考,在AGP 3.2 Canary 12中看来这是固定的: https://issuetracker.google.com/issues/72080964

遇到同样的问题......

答案 1 :(得分:-7)

将此添加到您的构建gradle(模块:app)

implementation 'com.stripe:stripe-android:6.1.2'

它会解决它