Saya memiliki Android Studio Beta. Saya membuat sebuah proyek baru dengan mengkompilasi saya modul tua tapi ketika saya mencoba meluncurkan aplikasi ini tidak memulai dengan pesan:
Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
com.android.pembangun.dexing.DexArchiveMergerException: tidak Dapat menggabungkan dex
Tapi aku don't tahu bagaimana untuk mengatasi kesalahan ini. Aku googled ini selama berjam-jam tetapi tidak berhasil.
Proyek saya gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-beta6'
classpath "io.realm:realm-gradle-plugin:3.7.1"
classpath 'com.google.gms:google-services:3.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Aplikasi saya gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
applicationId "parad0x.sk.onlyforyou"
minSdkVersion 21
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
}
}
compileOptions {
targetCompatibility 1.7
sourceCompatibility 1.7
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
lintOptions {
checkReleaseBuilds false
}
productFlavors {
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
//noinspection GradleCompatible
compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
compile project(path: ':loginregisterview')
}
Dan saya modul gradle:
apply plugin: 'com.android.library'
apply plugin: 'realm-android'
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.0.2'
compile 'com.android.support:support-v4:26.1.0'
compile 'com.github.bumptech.glide:glide:4.0.0'
testCompile 'junit:junit:4.12'
compile project(path: ':parser')
}
Kedua modul:
apply plugin: 'com.android.library'
apply plugin: 'realm-android'
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
realm {
syncEnabled = true
}
useLibrary 'org.apache.http.legacy'
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile 'junit:junit:4.12'
// compile 'com.android.support:appcompat-v7:23.1.0'
// compile 'com.fasterxml.jackson.core:jackson-core:2.9.0'
// compile 'com.fasterxml.jackson.core:jackson-annotations:2.9.0'
// compile 'com.fasterxml.jackson.core:jackson-databind:2.9.0'
compile 'com.google.code.gson:gson:2.6.2'
}
____temuan_____
Ketika saya tidak mengimpor modul kedua (parser) aplikasi tidak crash pada dex tapi ketika modul itu tidak diimpor aplikasi tidak bekerja. :D :D
Saya mencoba semua hal di atas dan tidak satupun dari mereka yang membantu. akhirnya, saya menemukan ini bekerja untuk saya:
app/build.gradle:
android {
defaultConfig {
multiDexEnabled true
}
}
Kadang-kadang anda hanya perlu untuk menghilangkan peringatan ** dan error** akan menghilang secara otomatis. Lihat di bawah kasus khusus:
Aku punya dua dependensi dalam modul level membangun.gradle
file:
implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.android.support:recyclerview-v7:27.0.2'
dan Studio telah memperingatkan (selain dex penggabungan masalah):
Semua
com.android.dukungan perpustakaan harus menggunakan versi yang sama persis spesifikasi (pencampuran versi yang dapat menyebabkan runtime crash). Ditemukan versi
27.0.2,
21.0.3. Contoh termasuk
com.android.dukungan:animasi-vektor-drawable:27.0.2dan
com.android.dukungan:dukungan-v4:21.0.3`
Jadi saya ditentukan secara eksplisit versi com.android.dukungan:dukungan-v4
(lihat di sini untuk rincian) dan kedua masalah (peringatan dan yang berhubungan dengan dex penggabungan) soal:
implementation 'com.android.support:support-v4:27.0.2' // Added this line (according to above warning message)
implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.android.support:recyclerview-v7:27.0.2'
Lihat di bawah komentar untuk situasi lain yang serupa.
Dalam kasus saya, Sayangnya, tidak Michel's atau Suragch's solusi yang bekerja untuk saya.
Jadi saya memecahkan masalah ini dengan melakukan hal berikut:
Di gradle:3.0 the compile konfigurasi sekarang usang dan harus diganti dengan pelaksanaan atau api. Untuk informasi lebih lanjut anda dapat baca di sini Anda dapat membaca dokumen resmi di Gradle Membangun Tool
menyusun konfigurasi masih ada tapi tidak boleh digunakan seperti itu tidak akan memberikan jaminan bahwa api dan implementasi konfigurasi sediakan.
it's baik untuk menggunakan pelaksanaan atau api bukan compile
hanya mengganti compile dengan pelaksanaan, debugCompile dengan debugImplementation, testCompile dengan testImplementation dan androidtestcompile dengan androidTestImplementation
Sebagai contoh: Bukannya ini
compile 'com.android.support:appcompat-v7:26.0.2'
compile 'com.android.support:support-v4:26.1.0'
compile 'com.github.bumptech.glide:glide:4.0.0'
gunakan seperti ini
implementation 'com.android.support:appcompat-v7:26.0.2'
implementation 'com.android.support:support-v4:26.1.0'
implementation 'com.github.bumptech.glide:glide:4.0.0'
Setelah itu
Berharap ini akan membantu !
Menghapus .gradle
direktori.
Menjalankan aplikasi anda lagi.
Catatan
.gradle
direktori ini dalam proyek anda's root folder. (Anda mungkin harus show hidden file pertama.) Menghapus .gradle
seperti yang disarankan oleh Suragch itu't cukup bagi saya. Selain itu, aku harus melakukan Membangun > Bersih Proyek
.
Perhatikan bahwa, dalam rangka untuk melihat .gradle
, anda perlu untuk beralih ke "Proyek" lihat di bagian navigator di kiri atas:
Aku mencoba setiap solusi lain, tapi tidak ada yang bekerja untuk saya. Pada akhirnya, aku diselesaikan dengan menggunakan ketergantungan sama versi dengan mengedit membangun.gradle
. Saya pikir masalah ini occurres ketika menambahkan library ke gradle yang menggunakan berbagai ketergantungan versi dukungan atau google perpustakaan.
Tambahkan kode berikut untuk anda membangun gradle. Maka bersih
dan membangun
proyek.
ps: yang sudah tua solusi untuk saya, jadi anda harus menggunakan versi terbaru dari berikut perpustakaan.
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '26.1.0'
}
} else if (requested.group == "com.google.android.gms") {
details.useVersion '11.8.0'
} else if (requested.group == "com.google.firebase") {
details.useVersion '11.8.0'
}
}
}
jika(1. Cobalah untuk membersihkan dan membangun kembali bekerja ) maka baik
jika lain (2. Cobalah untuk menghapus gradle bekerja ) maka baik
lain-> 3. Cobalah untuk menambahkan di kelas.properti
android.enableD8 = false
lain-> 4. Tambahkan multiDexEnabled
sejati untuk membangun anda.gradle
android {
compileSdkVersion 26
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 26
multiDexEnabled true
...
}
}
dan menambah ketergantungan
dependencies {
compile 'com.android.support:multidex:1.0.1'}
Ini mungkin yang pertama bekerja untuk u dan sebagainya tapi itu benar-benar tergantung pada sifat dari masalah anda bagi saya misalnya
Saya mendapat error setelah saya telah menambahkan library ini
implementation 'com.jjoe64:graphview:4.2.2'
dan kemudian saya menemukan bahwa saya harus memeriksa itu dan saya harus menambahkan versi yang sama dari dukungan perpustakaan. Jadi saya harus mencoba versi lain
compile 'com.jjoe64:graphview:4.2.1'
dan perbaikan masalah. Jadi membayar perhatian untuk itu.
Hanya untuk menambah solusi di atas:
Pastikan bahwa anda don't memiliki duplikat dependensi menunjuk ke versi yang berbeda dari mereka, di beberapa tempat (atau bahkan di file yang sama).
Hi saya memiliki masalah yang sama mencoba hampir segalanya. Jadi, akhirnya saya memutuskan setelah 6 jam perjuangan panjang oleh debugging segala sesuatu baris demi baris.
classpath 'com.google.gms:google-services:3.0.0'
Google-jasa 3.0 Doesn't dukungan firebase dengan Studio 3.0 dengan playServiceVersion: 11.6.0 atau kurang.
implementation "com.google.firebase:firebase-messaging:$rootProject.ext.playServiceVersion"
implementation "com.google.firebase:firebase-core:$rootProject.ext.playServiceVersion"
implementation "com.firebase:firebase-jobdispatcher-with-gcm-dep:$rootProject.ext.jobdispatcherVersion"
Solusi :
Saya telah mengubah layanan google untuk
classpath 'com.google.gms:google-services:3.1.1'
Dan itu mendukung firebase jasa.
Mudah-mudahan seseorang simpan/nya waktu.
defaultConfig { multiDexEnabled benar }
Pergi ke struktur proyek dan mengetahui library eksternal yang menggunakan versi yang berbeda. Double klik di atasnya dan menghapus file jar. Menutup proyek dan buka lagi android studio akan membangun proyek. Masalah harus pergi.
Jika kesalahan ini muncul untuk anda setelah termasuk kotlin dukungan, dan tidak ada solusi lain bekerja, cobalah mengubah kotlin ketergantungan dari aplikasi modul's membangun.gradle
untuk:
implementation ("org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version") {
exclude group: 'org.jetbrains', module: 'annotations'
}
Ini bekerja untuk saya pada Android Studio 3.0 Beta 6. Lihat ini jawaban untuk penjelasan lebih lanjut.
Salah satu kemungkinan adalah: adanya perpustakaan yang sama namun dengan versi yang berbeda dalam dependensi.
Saya punya masalah dengan baris berikut di gradle:
kompilasi fileTree(meliputi: ['*.jar'], dir: 'libs')
compile 'com.google.kode.gson:gson:2.8.2'
The library gson di direktori libs tapi dengan versi sebelumnya.
Saya dihapus gson-2.3.1.jar
dari direktori libs dan semuanya kembali normal.
[ TIDAK DAPAT MENGGABUNGKAN DEX DISELESAIKAN ] Setelah berjam-jam stack meluap Aku diselesaikan, " MAMPU MENGGABUNGKAN DEX KESALAHAN "
Penyebab - Android telah diperbarui dukungan perpustakaan untuk v27.1.0, sehingga anda harus mengubah semua android support garis di gradle untuk 27.1.0 dari 26.1.0
allprojects { repositori { jcenter() maven { url "https://maven.google.com" } } }
Penyebab :- Android tidak bisa update dukungan perpustakaan di SDK manager dan sekarang menggunakan maven.google.com untuk memperbarui , sehingga anda harus memiliki ini untuk menggunakan 27.1.0 dukungan perpustakaan
Setelah Mengubah Versi:
Dengan Android Studio 3.0 stabil membangun Berikut langkah-langkah ini bekerja untuk saya:
Saya setuju dengan Chris-Jr. Jika anda menggunakan Firebase untuk menanamkan iklan AdMob (atau bahkan jika anda tidak) play-services-analisis termasuk play-jasa-iklan meskipun anda don't menambahkan bahwa sebagai ketergantungan. Google telah jelas-jelas membuat kesalahan dalam 11.4.0 roll-out sebagai analytics adalah termasuk versi 10.0.1 iklan, tidak 11.4.0 (mouse over petunjuk di gradle menunjukkan ini).
Aku yang ditambahkan secara manual menyusun 'com.google.android.rups:bermain-jasa-iklan:11.4.0' di bagian atas yang bekerja, tetapi hanya setelah saya dinonaktifkan Instan Run: https://stackoverflow.com/a/35169716/530047
Jadi yang baik mundur untuk 10.0.1 atau menambahkan iklan dan menonaktifkan Instan Jalankan. Yang's apa yang saya temukan jika itu membantu apapun.