I am getting below build errors when I am running the app in Android Studio 2. These errors were not there when I was using earlier version of Android Studio.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.squareup.haha.guava.base.Joiner$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.squareup.haha.guava.collect.Iterables$2) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.squareup.haha.guava.collect.Iterables$3) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.
What are these errors and how to resolve them? Also, the apk is building fine and the app also runs perfectly.
Update 2016/09/19
This is fixed in LeakCanary 1.4, so simply upgrading should fix it without needing to mess with an alternate version of haha
.
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4'
Previously
These warnings are caused by haha:2.0.2
, which is a dependency of leakcanary-android:1.4-beta2
.
It's fixed in haha:2.0.3
, so you can fix it by explicitly using the newer version in your dependencies. Add this line for each flavor where you are adding a leakcanary
dependency. You don't need to add it for leakcanary-android-no-op
, since it has no dependencies.
debugCompile 'com.squareup.haha:haha:2.0.3'
Adding
-keepattributes EnclosingMethod
to proguard's configuration file (in my case, proguard.cfg
) seems to have fixed this.
I was getting same error. It seems there was some problem with leakcanary (in my case). I tried following changes in proguard file.
-dontwarn com.squareup.haha.guava.**
-dontwarn com.squareup.haha.perflib.**
-dontwarn com.squareup.haha.trove.**
-dontwarn com.squareup.leakcanary.**
-keep class com.squareup.haha.** { *; }
-keep class com.squareup.leakcanary.** { *; }
# Marshmallow removed Notification.setLatestEventInfo()
-dontwarn android.app.Notification
I am not getting those issue anymore. Here is the link
I solved the issue by adding following dependency to my build.gradle:
testCompile "com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2"
here is link:https://github.com/square/leakcanary/issues/491
来源:https://stackoverflow.com/questions/36762834/getting-enclosingmethod-errors-on-building-in-android-studio-2