J'ai récemment mis à niveau vers Android Studio 3.1 et lors de la construction de mon Kotlin avec Java, j'ai reçu l'avertissement suivant.
Les annotations InnerClass ne contiennent pas les annotations EnclosingMember correspondantes. Ces annotations InnerClass sont ignorées.
Message {kind = WARNING, text = Les annotations textuelles InnerClass ne correspondent pas aux annotations EnclosingMember correspondantes. Ces annotations InnerClass sont ignorées., Sources = [fichier source inconnu]}
Voici mes détails Gradle.
Android {
compileSdkVersion 27
//buildToolsVersion '27.0.3'
defaultConfig {
minSdkVersion 16
targetSdkVersion 27
applicationId "org.myapp"
versionCode generateVersionCode()
//...
multiDexEnabled true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
Cela ne m'indique pas où est le problème. Comment localiser le code incriminé?
Il se peut que certaines annotations soient confuses. Il suffit donc d’ajouter la règle proguard:
-keepattributes * Annotation *
- garder @ ** annotation ** classe * {*;}
cela a bien fonctionné pour moi.
Pour résoudre le problème temporairement, j'ajoute ceci:
buildTypes {
release {
lintOptions {
checkReleaseBuilds false
abortOnError false
}
}
}
Mettra à jour si je trouve un correctif permanent. Cette page pour configurer JUnit 5 peut aussi aider