I've created a new project in Android Studio and am using Gradle to build it.
I've added my Proguard integration for release builds, and I am seeing this Note every time I run my assembleRelease
step:
Note: the configuration refers to the unknown class 'Object'
Maybe you meant the fully qualified name 'java.lang.Object'?
None of my Proguard configuration files, or the ones in the Android SDK folder include an unqualified name Object
.
My build.gradle
includes:
buildTypes {
release {
runProguard true
proguardFile 'proguard-project.txt'
proguardFile getDefaultProguardFile('proguard-android-optimize.txt')
signingConfig signingConfigs.release
}
}
I even see the same Note when I remove both the proguardFile
lines above, and also if I delete my custom Proguard rules (each time doing a clean before rebuilding).
I'm guessing this is a benign issue with the Proguard plugin for Gradle?
Thanks for the suggestion Eric Lafortune! Adding -printconfiguration
to my proguard.txt revealed that the problem was in the google-play-services_lib (r13).
The guilty Proguard rule is (it should be java.lang.Object[][]
):
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
You can see this on a Mac by right clicking on Android Studio
, do Show Package Contents
, then browse to sdk/extras/google/google_play_services/libproject/google-play-services_lib/proguard.txt
.
The quickest workaround is to add the correct Proguard rule into your own Proguard configuration and just ignore the Proguard Note.
-keep class * extends java.util.ListResourceBundle {
protected java.lang.Object[][] getContents();
}
I raised this bug with Google as Android Issue #63095.
I'm not aware of any unqualified references to Object
in the Android SDK, but you could specify the option -printconfiguration config.txt
to write out the complete configuration and look for the reference. It could be a method argument or a return value, which is easy to overlook.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With