java - ¿Cómo suprimir “advertencia: ignorando el atributo InnerClasses para una clase interna anónima” con Gradle?
android android-gradle (2)
¿Cómo suprimir "advertencia: ignorando el atributo InnerClasses para una clase interna anónima" con Gradle?
- Esta no es una pregunta duplicada
- Esto no durante Proguard ni quiero suprimir el uso de Proguard
- Me gustaría suprimir haciendo normal
./gradlew assembleDebug
(ya que esassertj-core
-./gradlew testDebug
)
Dependencia:
dependencies {
testCompile "org.assertj:assertj-core:1.7.1"
}
Advertencia:
Dex: warning: Ignoring InnerClasses attribute for an anonymous inner class
(org.assertj.core.internal.cglib.reflect.FastClassEmitter$3) that doesn''t come with an
associated EnclosingMethod attribute. This class was probably produced by a
compiler that did not target the modern .class file format. The recommended
solution is to recompile the class from source, using an up-to-date compiler
and without specifying any "-target" type options. The consequence of ignoring
this warning is that reflective operations on this class will incorrectly
indicate that it is *not* an inner class.
Algo como:
tasks.withType(JavaCompile) {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
configure(options) {
compilerArgs << "-Xlint:-options" // Turn off "missing" bootclasspath warning
}
}
¿Qué compilerArgs
puedo agregar para suprimir esta advertencia?
Referencias:
- Tengo una respuesta aquí, pero ninguna de ellas suprime esta advertencia: ¿Cómo suprimo las advertencias al compilar una biblioteca de Android con gradle?
Tuve el mismo problema cuando intenté usar una biblioteca de terceros hace un tiempo. Ese lib fue compilado para Java 1.3. Pude arreglarlo obteniendo la fuente de esa biblioteca y compilando un archivo jar por mi cuenta. Esto solo funciona, por supuesto, si las fuentes de esa biblioteca están disponibles y listas para compilar.
@SuppressWarnings("unchecked")
con reemplazar un unchecked no ayuda? Más ejemplos están aquí: http://www.codejava.net/java-core/the-java-language/suppresswarnings-annotation-examples