Cómo obtener "EnclosingMethod" errores en la construcción de Android Studio 2
Estoy recibiendo errores de compilación por debajo cuando estoy ejecutando la aplicación en Android Studio 2. Estos errores no estaban allí cuando estaba usando la versión anterior de 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.
¿Cuáles son estos errores y cómo resolverlos? Además, el apk está construyendo bien y la aplicación también funciona perfectamente.
- ¿Cómo evitar que Android Studio 2.0 haga una compilación limpia completa después de desinstalar la aplicación del dispositivo?
- Android Studio 2.0 inicia APK en otro dispositivo
- Android Studio Rendering error con material interactivo
- La aplicación no se ejecutará en Android Studio 2.0, después de actualizar desde 1.5
- Crea una aplicación de gradle local en un servidor remoto en Android Studio
- Error de generación de Gradle no puede resolver io.fabric
- Tratando de probar un módulo de Android en la aplicación MultiDex, com.android.test.runner.MultiDexTestRunner no se reconoce
- Android Studio 2.0 Instant Run hace que DexFile no cargue todas las clases
- La compilación del proyecto Android se ejecutó correctamente pero se ejecutó con error: java.util.zip.ZipException: entrada duplicada
- Error al instalar parches de reinicio cuando se inicia la aplicación android con Android Studio 2.0
- Conflicto con dependencia 'com.android.support:support-annotations'. Las versiones resueltas para la aplicación (23.3.0) y la aplicación de prueba (23.1.1) difieren
- ¿Es posible ejecutar Android Device Emulator (a través de Android Studio 2) en VMWare?
- No se pudo encontrar el método android () para los argumentos
Actualización 2016/09/19
Esto se arregla en LeakCanary 1.4, por lo que simplemente actualizar debe arreglarlo sin necesidad de meterse con una versión alternativa de haha
.
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4'
Previamente
Estas advertencias son causadas por haha:2.0.2
, que es una dependencia de leakcanary-android:1.4-beta2
.
Se ha arreglado en haha:2.0.3
, por lo que se puede corregir mediante el uso explícito de la versión más reciente en sus dependencias. Agregue esta línea para cada sabor en el que esté agregando una dependencia leakcanary
. No es necesario añadirlo para leakcanary-android-no-op
, ya que no tiene dependencias.
debugCompile 'com.squareup.haha:haha:2.0.3'
Añadiendo
-keepattributes EnclosingMethod
Al archivo de configuración de proguard (en mi caso, proguard.cfg
) parece haber arreglado esto.
Estaba recibiendo el mismo error. Parece que había algún problema con leakcanary (en mi caso). Intenté seguir cambios en el archivo proguard.
-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
No voy a tener más problemas. Aquí está el enlace
Resolví el problema añadiendo la siguiente dependencia a mi build.gradle:
TestCompile "com.squareup.leakcanary: leakcanary-android-no-op: 1.4-beta2"
Aquí está el enlace: https://github.com/square/leakcanary/issues/491
- Android: Captura de solicitudes HTTP con un dispositivo Android no enraizado
- Navegador para Android WebView VS