Soru Android Studio 3.0 Beta4'te Dex hatası


Error:java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:com.android.dex.DexException: Multiple dex files define Lcom/google/zxing/integration/android/IntentResult;

44
2017-09-05 11:30


Menşei


göstermek build.gradle - IntelliJ Amiya
@IntelliJAmiya Bu, rapor edilen sorunun bir kopyası değildir. En azından benim için sorun, AS 3.0 beta 4 ile başladı ve ben zaten multidex kullanıyorum. - ADev
Nasıl? Ayrıcalık yok, bence - ADev
@ADev Evet. Bahsettiğin için teşekkürler. Bu bir böcek ? emin ? - IntelliJ Amiya
Henüz kesin bilmiyorum. Ama ben koşabilirim ./gradlew assembleRelease Komut satırında problemsiz. - ADev


Cevaplar:


Android Studio 3.0 beta 4 ile aynı problemim var. Bir çözüm buldum.

1. İtibaren Build menüsüne basın Clean Project buton.

Clean Project

2. Görev tamamlandıktan sonra, Rebuild Project düğmesinden Build Menü.

enter image description here


52
2017-09-07 13:51



Android Studio 3.0 RC2'de çalışmıyor - Sagar Trehan
Bu Android Studio 3.1 Kanarya üzerinde çalışır. Ancak, her seferinde notta değişiklikler yaptığım gibi görünüyor. Bunun için çok vadeli bir düzeltme var mı? - toobsco42
Android Studio 3.0'ı kullanarak çalıştım - Anovative
Android Studio 3.0'da benim için çalışmadı - kds23
Cevabınız için teşekkürler. - Opriday


Android Studio 3.0 için yaptığım şey bunu not defterime eklemek oldu:

multiDexEnabled true

Ve işe yaradı!

Örnek

android {
    compileSdkVersion 25
    buildToolsVersion '26.0.2'
    defaultConfig {
        applicationId "com.xx.xxx"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 9
        versionName "1.0"
        multiDexEnabled true //Add this
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

25
2017-10-30 20:54



Benim için bu problemi çözmez ... Çözüme devam etmeye devam ediyorum .. - Hpsaturn
Şu adımları deneyin: .gradenizi silin, temizleyin ve yeniden oluşturun. Ayrıca multiDexEnabled'ı eklemeyi unutmayın. Umarım yardımcı olur - Prodigy
Multidex'i etkinleştirirseniz ve minSDK'niz 5.0'dan azsa, aşağıdaki talimatları izleyin: developer.android.com/studio/build/multidex - Johnny


Bu yüzden aşağıdakileri yaparak bu sorunu çözdüm:

  • Sil ./gradle projenizdeki klasör
  • Tümünü sil klasörleri ve gradle önbelleği oluşturma. Aşağıdaki komutu çalıştırdım:

Nasıl ?

 cd ~/[your project root folder] && find . -name build -exec rm -rf {} \; && rm -rf $HOME/.gradle/caches/

Varsayarsak gradle config dosyaları olan $HOME/.gradle Klasör.

  • Android Studio’nun içinde File > Invalidate caches / Restart... ve önbellekleri geçersiz kıldı ve yeniden başlattı.

18
2017-09-07 10:23



.Gradle klasörünü sil benim sorunumu giderir. Yardım için teşekkürler! - Ankita-user3449434
AS 3.0 Beta 7 ile aynı sorun, maalesef hala benim durumum için çalışmıyor. - Kikiwa
Yukarıdaki tüm çözümleri denediniz ama AS 3.0 beta 7 için çalışmıyor. - Pinkesh Darji
AS 3.0.1'de hala problemim var - Emanuel
Önbelleklerin geçersiz kılınması ve yeniden başlatılması tüm Android Studio ayarlarımı bozdu ... - Zon


Bu hatanın sebebine, bağımlılıklarınızı gradyanla denetleyerek ve bunun gibi çiftleri arayarak elde edebilmelisiniz: ./gradlew -q app:dependencies

Benim durumumda, yapım aşamasında aşağıdaki hata meydana geldi:

Duplicate zip entry [httpcore-4.4.1.jar

ve bunu benim yaptığımda çözüldü build.gradle:

implementation ('me.dlkanth:stetho-volley:1.0') {
    exclude group: 'org.apache.httpcomponents'
}

8
2017-10-25 13:34



Benim durumumda 'com.android.volley' bir şekilde iki kere ekleniyordu, şimdi de onun çalışma cezasını, dışlama ifadesini ekledim. - Harish Rana
bu senaryoyu çalıştırdım bana could not determine java version from 9.0.1. Android Studio 3.0'ı kullanarak 4.1'den 4.2.1'e Gradle olarak güncelledim - androidtitan
@androidtitan Sadece Java 8 Android ile çalışır - Igor Ganapolsky


En son sürüm için bağımlılıklarınızı kontrol edin, genellikle bağımlılıklarınızın herhangi birinin sürümü ile tutarsızlık.

1.Build> Temiz Proje 2. Projenizi yeniden oluşturun

Birleştirme sorununa neden olan bağımlılık için ayrıntılı günlüğü denetleyin ve aynı güncelleştirin. Her bağımlılık için aynı şeyi tekrarlayın.


6
2017-11-06 18:21





MinSdkVersion'ınız 21 veya daha yüksekse 

   android {
        defaultConfig {
           multiDexEnabled true
        }
    }

minSdkVersion'ınız 20 veya daha düşükse

1) Aşağıdaki kütüphaneyi bağımlılıklara eklemelisiniz

dependencies {
  compile 'com.android.support:multidex:1.0.1'
}

2) Bir java sınıfı oluşturun, ardından Application'dan uzatın ve attachBaseContext yöntemini geçersiz kılın.

 public class MyApplication extends Application {
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
}

3) Oluşturulan sınıfın uygulama etiketinde bildirildiğinden bahsedin.

    <application
        android:name=".MyApplication"
.
.
.
    </application>

6
2017-11-12 20:18



Yukarıdaki kod işe yaramazsa, imleci basılı tutarak her yeni kütüphanenizi kontrol edin, eğer mevcut yeni sürüm varsa, Güncelleyin, senkronize edin, projeyi temizleyin, projeyi yeniden oluşturun ve çalıştırın. umarım, sizin için çalışacaktır. - Opriday
Bu hile yapar: D - Fahad
Bu kod Android 5.1 ve üstü için çalışıyor ... android sürümü altında .. multidex desteği eklemek için başka bir yol var. developer.android.com/studio/build/multidex.html - Relsell


Android Studio 3.0.1'de aynı sorunla karşı karşıya kaldım, yukarıda bahsettiğim gibi hiçbir şey için çalışılan tüm olası davaları denedim, sonunda bunu çözdüm

Solution1:

  • Android Studio'yu kapat
  • silmek .gradle adresindeki klasör C:\Users\YourComputerName\.gradle  uygulamanın içinden değil .gradle
  • Android stüdyosu yeniden başlat

Gerekli tüm kavanozları indirecek ve inşa yolunuza eklenecek.

Solution2:

  • Uygulama / libs'deki libs klasöründeki yinelenen jar silin
  • Uygulamayı tekrar çalıştır

Çünkü zaten içinde tanımlanmış yinelenen jar dosyası varsa build.gradle dosya sorun neden olur.

Bu benim için sorunu çözdü. Başkalarına yardımcı olabilir ..


3
2017-11-23 13:24



Linux kullanıcısı ne olacak? Aynı hatayı alıyorum. Lütfen bana yol göster - Nihal Srivastava
Linux'unda bahsettiğim şeyi yap. Yani, terminale git .gradle'nin yeri, '~ \ .gradle \' gibi bir şey olurdu. - Shylendra Madda
Deniyorum ama görünmüyor… Açıklamaya çalıştığınız yer neresi? Android stüdyomu veya proje konumumu nereye yükledim? - Nihal Srivastava
Hayır, kullanıcı evinizde, örneğin, eskide: ~/.gradle/caches/.. - Shylendra Madda
Teşekkürler ... Çözdüm. Uyumsuz sürüm kodu vardı - Nihal Srivastava


Bu hatanın birden fazla nedeni olabilir. Temiz ve yeniden inşa etmek ya da benim gibi bir şey yapmadım.

Benim için sorun bağımlılıktı:

compile 'org.jetbrains:annotations-java5:15.0'

Onu çıkardım ve her şey yolunda gitti.


1
2017-10-28 13:47



Bu sonuca nasıl ulaştınız? Deneme yanılma yoluyla? - Filipe de Lima Brito