J'utilise Android Studio 3.3 Canary 8 . J'ai créé le projet par défaut, puis j'ai essayé de l'exécuter . Mais j'avais déjà vu stacktrace:
AGPBI: {"kind": "erreur", "text": "Type de programme déjà présent: androidx.core.graphics.PathSegment", "sources": [{}], "outil": "D8"} Tâche: application: buildInfoGeneratorDebug ECHEC: La construction a échoué avec une exception . * Qu'est ce qui ne s'est pas bien passé: L'exécution a échoué pour la tâche ': app: transformDexArchiveWithExternalLibsDexMergerForDebug' . com.Android.builder.dexing.DexArchiveMergerException: erreur lors de la fusion d'archives dex: Apprenez à résoudre le problème sur https://developer.Android.com/studio/build/dependencies#duplicate_classes . Type de programme déjà présent: androidx.core.graphics.PathSegment
build.gradle
apply plugin: 'com.Android.application'
apply plugin: 'kotlin-Android'
apply plugin: 'kotlin-Android-extensions'
Android {
compileSdkVersion 28
defaultConfig {
applicationId "my.app"
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.0.0-rc02'
implementation 'Android.Arch.navigation:navigation-fragment:1.0.0-alpha05'
implementation 'Android.Arch.navigation:navigation-ui:1.0.0-alpha05'
implementation 'Android.Arch.navigation:navigation-fragment-ktx:1.0.0-alpha05'
implementation 'Android.Arch.navigation:navigation-ui-ktx:1.0.0-alpha05'
implementation 'androidx.core:core-ktx:0.3'
implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
}
Cela ressemble à un bogue sur des éléments Android récents, qui se produit même si vous créez un nouveau projet.
J'ai signalé à ce sujet récemment ici .
La solution de contournement, que j'ai trouvée lors de la migration vers Android-x, est la suivante:
implementation 'androidx.core:core-ktx:1.0.0-rc02'
au lieu de cette ligne générée:
implementation 'androidx.core:core-ktx:0.3'
Remplacer
implementation 'androidx.core:core-ktx:0.3'
avec
implementation "androidx.core:core-ktx:1.0.0"// Updated version
pour cette erreur, vous devez mettre à jour cette dépendance au plus tard
implementation 'androidx.core:core-ktx:0.3'