J'ai un projet relativement nouveau que j'essaie de construire. Gradle se synchronise bien, mais chaque fois que j'essaye de construire, j'obtiens une erreur comme ceci:
Execution failed for task ':app:kaptGenerateStubsDebugKotlin'.
> Could not resolve all artifacts for configuration ':app:debugCompileClasspath'.
> Failed to transform artifact 'common.jar (com.Android.tools:common:26.4.0)' to match attributes {artifactType=Android-classes, org.gradle.usage=Java-runtime-jars}.
> Execution failed for JetifyTransform: C:\Users\Dave\.gradle\caches\modules-2\files-2.1\com.Android.tools\common\26.4.0\539939e284fba9fe343b890a6e21c9333767c886\common-26.4.0.jar.
> Failed to transform 'C:\Users\Dave\.gradle\caches\modules-2\files-2.1\com.Android.tools\common\26.4.0\539939e284fba9fe343b890a6e21c9333767c886\common-26.4.0.jar' using Jetifier. Reason: The given artifact contains a string literal with a package reference 'Android.support.design.widget' that cannot be safely rewritten. Libraries using reflection such as annotation processors need to be updated manually to add support for androidx.. (Run with --stacktrace for more details.)
> Failed to transform artifact 'bundletool.jar (com.Android.tools.build:bundletool:0.7.2)' to match attributes {artifactType=Android-classes, org.gradle.usage=Java-runtime-jars}.
> Execution failed for JetifyTransform: C:\Users\Dave\.gradle\caches\modules-2\files-2.1\com.Android.tools.build\bundletool\0.7.2\31f71b66edcbe41de0268e14c961a7799a03d42a\bundletool-0.7.2.jar.
> Failed to transform 'C:\Users\Dave\.gradle\caches\modules-2\files-2.1\com.Android.tools.build\bundletool\0.7.2\31f71b66edcbe41de0268e14c961a7799a03d42a\bundletool-0.7.2.jar' using Jetifier. Reason: The given artifact contains a string literal with a package reference 'Android.support.design.widget' that cannot be safely rewritten. Libraries using reflection such as annotation processors need to be updated manually to add support for androidx.. (Run with --stacktrace for more details.)
J'ai commencé ce projet il y a seulement une semaine, et j'utilise la branche stable de Android Studio et j'utilise le plugin Gradle 3.5. Donc, quelqu'un a des idées pour résoudre ce problème?
Ce que j'ai essayé:
Android.jetifier.blacklist = pass
à gradle.properties m'a laissé les mêmes erreurs que ci-dessus.Android.databinding.enableV2=true
à gradle.properties m'a laissé les mêmes erreurs que ci-dessus.apply plugin: 'kotlin-kapt'
de mon build.gradle au niveau de l'application m'a laissé les mêmes erreurs que ci-dessus.EDIT 1: Dépendances Gradle, pour les curieux ... Je ne pense pas que j'utilise quelque chose de particulièrement bizarre ici.
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
//Kotlin stuff
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.core:core-ktx:1.1.0'
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-Android:1.3.0"
//Test tools
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
//UI
implementation 'com.google.Android.material:material:1.1.0-alpha10'
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0-beta01'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.activity:activity:1.1.0-alpha03'
//Lifecycle
implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.1.0'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.2.0-alpha04'
//Moshi for serialization
implementation 'com.squareup.moshi:moshi:1.8.0'
implementation 'com.squareup.moshi:moshi-kotlin:1.8.0'
//Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.6.1'
implementation 'com.squareup.retrofit2:converter-moshi:2.6.1'
//Glide
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.github.bumptech.glide:okhttp3-integration:4.9.0'
//Navigation
implementation 'androidx.navigation:navigation-fragment-ktx:2.1.0'
implementation 'androidx.navigation:navigation-common-ktx:2.1.0'
implementation 'androidx.navigation:navigation-ui-ktx:2.1.0'
implementation "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0"
//Diff utils
implementation group: 'io.github.Java-diff-utils', name: 'Java-diff-utils', version: '4.0'
//Timber for logging
implementation 'com.jakewharton.timber:timber:4.7.1'
}
Edit 2: Copié-collé mes dépendances Gradle dans un nouveau projet vide et a obtenu les mêmes erreurs. Serait-ce une de ces dépendances?
Edit 3: Commentant diverses bibliothèques de mon build.gradle (Moshi, Retrofit, Timber, Glide) n'a également eu aucun effet. Donc, je devrais probablement soumettre un rapport de bogue à Google. Jusque-là, quelle est la solution?
Édition 4: Avec les suggestions des commentaires, j'ai essayé de supprimer mon dossier .gradle et de revenir à une version antérieure de la bibliothèque de conception de matériaux. Les deux n'ont eu aucun effet, mais ce dernier a ajouté quelque chose d'intéressant au journal de construction:
> Transform artifact kotlin-build-common.jar (org.jetbrains.kotlin:kotlin-build-common:1.3.20) with DexingNoClasspathTransform
AGPBI: {"kind":"error","text":"Invoke-customs are only supported starting with Android O (--min-api 26)","sources":[{}],"tool":"D8"}
Dans mon cas, j'ai mis à jour Android studio, il a automatiquement mis à jour ma version gradle et la version a échoué, le retour de l'ancienne version a résolu le problème).
Invoke-douane n'est pris en charge qu'à partir de Android O (--min-api 26).
Cela signifie que vous auriez besoin d'au moins:
compileSdkVersion 26
targetSdkVersion 26