Pytanie Błąd Dex W Androidzie Studio 3.0 Beta4


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


pochodzenie


pokazać build.gradle - IntelliJ Amiya
@IntelliJAmiya To nie jest duplikat zgłoszonego pytania. Przynajmniej dla mnie problem zaczął się od wersji beta 3.0 beta 4 i już korzystam z multidex. - ADev
W jaki sposób? Nie mam żadnych przywilejów, jak sądzę - ADev
@ADev Tak. Dzięki za wzmiankę. To błąd? pewnie ? - IntelliJ Amiya
Nie wiem jeszcze na pewno. Ale mogę biegać ./gradlew assembleRelease w linii poleceń bez problemów. - ADev


Odpowiedzi:


Mam taki sam problem z Androidem 3.0 3.0 w wersji beta. Znalazłem rozwiązanie.

1. Od Build menu, naciśnij Clean Project przycisk.

Clean Project

2. Po zakończeniu zadania naciśnij przycisk Rebuild Project przycisk od Build menu.

enter image description here


52
2017-09-07 13:51



Nie działa w Android Studio 3.0 RC2 - Sagar Trehan
Działa to na Android Studio 3.1 Canary. Jednak wydaje się, że muszę to robić za każdym razem, gdy wprowadzam zmiany w gradle. Czy jest na to dużo czasu? - toobsco42
Pracowałem dla mnie przy użyciu Androida Studio 3.0 - Anovative
Nie działa dla mnie w Android Studio 3.0 - kds23
zadziałało dla mnie dzięki za odpowiedź. - Opriday


W przypadku Androida Studio 3.0 dodałem to do mojej oceny:

multiDexEnabled true

I zadziałało!

Przykład

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



dla mnie to nie rozwiązuje problemu ... Nadal pracuję nad rozwiązaniem go .. - Hpsaturn
Spróbuj wykonać następujące kroki: Usuń plik .gradle, wyczyść i odbuduj. Nie zapomnij również o add multiDexEnabled. Mam nadzieję, że to pomoże - Prodigy
Jeśli włączysz wielościeżkowe i twój minSDK będzie mniejszy niż 5.0, postępuj zgodnie z instrukcjami tutaj: developer.android.com/studio/build/multidex - Johnny


Rozwiązałem ten problem, wykonując następujące czynności:

  • Usuń ./gradle folder wewnątrz twojego projektu
  • Usuń wszystkie zbuduj foldery i pamięć podręczną gradle. Uruchomiłem następujące polecenie:

W jaki sposób ?

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

Zakładając twoje gradle pliki konfiguracyjne są w $HOME/.gradle teczka.

  • Wewnątrz Android Studio, poszedł do File > Invalidate caches / Restart... i unieważnił pamięć podręczną i uruchomił ją ponownie.

18
2017-09-07 10:23



Usuń .gradle folder naprawia mój problem. Dzięki za pomoc! - Ankita-user3449434
To samo dotyczy wersji 3.0 Beta 7, niestety nadal nie działa to w moim przypadku. - Kikiwa
Wypróbowałem wszystkie powyższe rozwiązania, ale nie działa ono w wersji 3.0 beta 3.0. Uprzejmie proszę o pomoc - Pinkesh Darji
Nadal mam problem z AS 3.0.1 - Emanuel
Unieważnij pamięć podręczną i uruchom ponownie wszystkie zapisane ustawienia Android Studio ... - Zon


Powinieneś być w stanie dostać się do przyczyny tego błędu, sprawdzając swoje zależności z gradle i szukając duplikatów takich jak to: ./gradlew -q app:dependencies

W moim przypadku następujący błąd wystąpił w czasie kompilacji:

Duplicate zip entry [httpcore-4.4.1.jar

i został rozwiązany przez zrobienie tego w moim build.gradle:

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

8
2017-10-25 13:34



W moim przypadku "com.android.volley" został dodany dwa razy w jakiś sposób, dodałem także instrukcję exclude, teraz działa dobrze. - Harish Rana
uruchomienie tego skryptu dało mi could not determine java version from 9.0.1. Zaktualizowałem program Gradle z wersji 4.1 do wersji 4.2.1, używając Androida Studio 3.0 - androidtitan
@androidtitan Tylko Java 8 działa z systemem Android - Igor Ganapolsky


Sprawdź zależności dla najnowszej wersji, zwykle jest to niezgodność z wersją którejkolwiek z twoich zależności.

1.Build> Clean Project 2. Odbuduj swój projekt

Sprawdź pełny raport dotyczący zależności powodującej problem scalenia i zaktualizuj go. Powtórz to samo dla każdej zależności.


6
2017-11-06 18:21





Jeśli twoja minSdkVersion ma 21 lub więcej 

   android {
        defaultConfig {
           multiDexEnabled true
        }
    }

jeśli twoja minSdkVersion ma 20 lub mniej

1) musisz dodać następującą bibliotekę w zależnościach

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

2) Utwórz klasę języka Java, a następnie rozszerz ją z poziomu aplikacji i nadpisz metodę attachBaseContext.

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

3) Wymień utworzoną klasę wewnątrz manifestu w znaczniku aplikacji.

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

6
2017-11-12 20:18



Jeśli powyższy kod nie działa, sprawdź każdą bibliotekę w gradle, przytrzymując na niej kursor, jeśli ma dostępną nową wersję, zaktualizuj ją, zsynchronizuj, wyczyść projekt, przebuduj projekt i uruchom. mam nadzieję, że będzie działać dla ciebie. - Opriday
ten robi lewę: D - Fahad
Ten kod działa dla systemu Android 5.1 i nowszych wersji ... dla wersji Android poniżej. Istnieje również inny sposób dodawania obsługi wielostrumieniowej. developer.android.com/studio/build/multidex.html - Relsell


Zmierzyłem ten sam problem w Androidzie Studio 3.0.1, próbowałem wszystkich możliwych przypadków, nic nie działało dla mnie, jak wspomniano powyżej, w końcu rozwiązałem go przez

Rozwiązanie 1:

  • Zamknij Studio Android
  • Kasować .gradle folder zlokalizowany pod adresem C:\Users\YourComputerName\.gradle  nie z aplikacji .gradle
  • Uruchom ponownie studio Android

Pobrane zostaną wszystkie niezbędne słoiki i dodane do ścieżki budowania

Rozwiązanie2:

  • Usuń duplikat słoika z folderu libs w aplikacji / libs
  • Ponownie uruchom aplikację

Ponieważ jeśli istnieje zduplikowany plik JAR, który już zdefiniowano w build.gradle plik powoduje problem.

To rozwiązało problem dla mnie. Może pomóc innym ...


3
2017-11-23 13:24



a co z użytkownikiem systemu Linux? Ten sam błąd dostaję. Proszę, prowadź mnie - Nihal Srivastava
Zrób to samo, o czym wspomniałem w twoim Linuxie. tj. Przejdź do terminalu lokalizacja pliku .gradle będzie miała postać "~ \ .gradle \" - Shylendra Madda
Próbuję, ale jej nie widać .. Które miejsce próbujesz wyjaśnić? Gdzie zainstalowałem lokalizację mojego studia lub projektu Androida? - Nihal Srivastava
Nie ma go w domu użytkownika, np. Na przykład: ~/.gradle/caches/.. - Shylendra Madda
Dziękuję ... Rozwiązałem to. Wystąpił niezgodny kod wersji - Nihal Srivastava