J'ai récemment mis à jour le Android Studio de 3.5 (stable) à 3.6 (stable).
Ensuite, j'ai vu que la mise à jour du plugin était également disponible, j'ai donc mis à jour la version de "com.Android.tools.build:gradle" de 3.5.0 à 3.6.0 et également mis à jour la version gradle vers 5.6.4.
Maintenant, le problème commence lorsque j'essaye de construire le projet; il échoue avec le message Le nom de l'entrée 'AndroidManifest.xml' est entré en collision
Il existe quelques méthodes pour résoudre ce problème.
Rétablir la version build.gradle en 3.5.3
dependencies {
// classpath 'com.Android.tools.build:gradle:3.6.1'
classpath 'com.Android.tools.build:gradle:3.5.3'
}
Ajouter des options de packaging sous app/build.gradle
Android {
...
packagingOptions {
exclude 'AndroidManifest.xml'
}
}
Sous gradle.properties, définissez seNewApkCreator sur false. L'ajout de cet indicateur peut entraîner des problèmes d'installation d'apk.
Android.useNewApkCreator=false
Approche finale, effectuez une analyse dans une bibliothèque tierce. Vérifiez androidx.core: core-ktx plugin. Essayez de mettre à jour vers la version 1.2.0 ou une version plus récente.
J'ai eu le même problème avec AndroidManifest.xml
fichiers en collision. Tout d'abord, j'ai essayé la solution de contournement useNewApkCreator
et cela a fonctionné sur la variante d'application sur laquelle je travaillais. Mais lorsque je suis passé à une autre variante, la construction était toujours réussie, mais l'application a refusé de s'installer à partir de Android Studio. L'installation manuelle du .apk a également donné une erreur d'analyse sur l'appareil.
Enfin, j'ai analysé les .apks des deux variantes et j'ai remarqué que le .apk cassé contenait le mauvais AndroidManifest.xml. L'exclusion du manifeste dans packagingOptions
a cependant fonctionné.