Projemi oluştururken/çalıştırırken aniden bu soruna yanıt veriyorum.Yapı Araçları 21.1.2 - BEKLENMEYEN TOPLAM SEVİYEDE ÖZGÜRLÜĞÜ
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/Users/aidanfollestad/Documents/android-sdk/build-tools/21.1.2/dx --dex --no-optimize --output /Users/aidanfollestad/Android Projects/Impression/app/build/intermediates/dex/debug --input-list=/Users/aidanfollestad/Android Projects/Impression/app/build/intermediates/tmp/dex/debug/inputList.txt
Error Code:
2
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:502)
at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:277)
at com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:491)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:168)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
at com.android.dx.command.dexer.Main.run(Main.java:246)
at com.android.dx.command.dexer.Main.main(Main.java:215)
at com.android.dx.command.Main.main(Main.java:106)
Benim Gradle dosyası bu içerir:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.14.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'versionPlugin'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.afollestad.impression"
minSdkVersion 16
targetSdkVersion 21
versionCode 19
versionName "0.7.0"
}
}
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
compile 'com.android.support:appcompat-v7:21.0.+'
compile 'com.android.support:recyclerview-v7:21.0.+'
compile 'com.koushikdutta.ion:ion:2.0.+'
compile 'com.github.chrisbanes.photoview:library:1.2.+'
compile 'com.afollestad:material-dialogs:0.4.5'
compile 'com.google.android.gms:play-services:6.5.87'
compile 'com.google.api-client:google-api-client:1.18.0-rc'
compile 'com.google.api-client:google-api-client-android:1.18.0-rc'
compile 'com.google.api-client:google-api-client-gson:1.18.0-rc'
compile 'com.google.apis:google-api-services-drive:v2-rev152-1.19.0'
compile('com.crashlytics.sdk.android:crashlytics:[email protected]') {
transitive = true;
}
}
versionPlugin{
buildTypesMatcher = 'release'
supportBuildNumber = false
fileNameFormat = '$appPkg-v$versionName-$versionCode'
}
Benim maddi-diyaloglar kütüphane referanslar sadece AppCompat-v7, bu Gradle dosya başvuran olur aynı sürümü. Benim libs klasöründe referans olduğum herhangi bir JAR yok. Kütüphanelerin birbirleriyle ne gibi etkileşime girdiği hakkında hiçbir fikrim yok (Play Services ve AppCompat'ın olasılığı dışında). Herhangi bir fikir veya çözüm mü?
Destek kitaplığının (https://github.com/koush/ion/blob/master/ion/build.gradle#L17) v4 numaralı Ion referanslarını fark ettim, bu belki de AppCompat ile çakışıyor olabilir?
bu bir kopya değil, o: 4
Adım diğer cevap sorunu çözmez. – afollestad
Yeniden açtım, ancak gerçekten bir kopyası - bir dex dosyasının içereceği çok fazla yönteminiz var. Bu bir çarpışma değil. –
Google Play hizmetlerinin her bölümünü kullanmıyorsanız, yalnızca bağımlı olmanıza izin veren [bölünmüş bağımlılıklar] 'ı (https://developer.android.com/google/play-services/setup.html#split) kullanmayı düşünün. Gerçekten ihtiyacınız olan Google Play hizmetlerinin bölümlerinde. 'MultiDexEnabled' kullanarak – ianhanniballake