Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

After Updating Android Studio 3.1, I am getting these warnings after each build

Android Issues Warnings

  1. Stripped invalid locals information from 1 method.

Stripped invalid locals information from 1 method. Message{kind=WARNING, text=Stripped invalid locals information from 1 method., sources=[Unknown source file], tool name=Optional.of(D8)}

  1. InnerClass annotations are missing corresponding EnclosingMember annotations. Such InnerClass annotations are ignored.

InnerClass annotations are missing corresponding EnclosingMember annotations. Such InnerClass annotations are ignored. Message{kind=WARNING, text=InnerClass annotations are missing corresponding EnclosingMember annotations. Such InnerClass annotations are ignored., sources=[Unknown source file], tool name=Optional.of(D8)}

  1. Type org.w3c.dom.bootstrap.DOMImplementationRegistry was not found, it is required for default or static interface methods desugaring of void com.fasterxml.jackson.databind.ext.DOMSerializer.<init>()

Type org.w3c.dom.bootstrap.DOMImplementationRegistry was not found, it is required for default or static interface methods desugaring of void com.fasterxml.jackson.databind.ext.DOMSerializer.<init>() Message{kind=WARNING, text=Type org.w3c.dom.bootstrap.DOMImplementationRegistry was not found, it is required for default or static interface methods desugaring of 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], tool name=Optional.of(D8)}

Java compiler Warnings

  1. The rule `-keep public class *extends java.lang.annotation.Annotation {

Warning: The rule `-keep public class *extends java.lang.annotation.Annotation {

For java compiler warning, I've tried to fix my proguard file. Here's my proguard file. Let me know If I did something wrong.

#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  ----------
like image 918
Deepanshu Sinha Avatar asked Apr 02 '18 12:04

Deepanshu Sinha


1 Answers

FYI, looks like this is fixed in AGP 3.2 Canary 12: https://issuetracker.google.com/issues/72080964

Hit the same issue...

like image 62
kenyee Avatar answered Oct 29 '22 04:10

kenyee