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

Dee*_*nha 20 android compiler-warnings android-studio android-proguard android-studio-3.1

Android发布警告

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

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

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

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>()

org.w3c.dom.bootstrap.DOMImplementationRegistry未找到类型,默认或静态接口方法需要void com.fasterxml.jackson.databind.ext.DOMSerializer.<init>() 消息{kind = WARNING,text = Type org.w3c.dom.bootstrap.DOMImplementationRegistry未找到,它是默认或静态接口方法desugaring 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 {

警告:规则`-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  ----------
Run Code Online (Sandbox Code Playgroud)

ken*_*yee 5

仅供参考,在AGP 3.2 Canary 12中修复此问题:https: //issuetracker.google.com/issues/72080964

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