2015-11-25 19 views
41

otrzymuję wyjątek poniżej gdy próbuję uruchomić aplikację za pomocą Android Studio:Android Studio TransformException: Błąd: Wykonanie nie powiodło się dla zadania „: app: transformClassesWithDexForDebug”

Error:Execution failed for task ':app:transformClassesWithDexForDebug'. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_05\bin\java.exe'' finished with non-zero exit value 2

+1

Spróbuj wykonać następujące czynności: http://stackoverflow.com/a/32889565 Nadzieję, że to pomaga. –

+2

Jaka jest twoja wersja 'com.android.tools.build: gradle'? –

+0

Sprawdź to https://stackoverflow.com/questions/33717886/errorexecution-failed-for-task-apptransformclasseswithdexfordebug – Yaman

Odpowiedz

52

mam ten sam problem, po kilka godzin badań, znalazłem rozwiązanie, aby to naprawić.

Należy stałe build.gradle:

android { 

    compileSdkVersion .. 
    buildToolsVersion '...' 

    defaultConfig { 
     ... 
     targetSdkVersion .. 
     multiDexEnabled true // this line will solve this problem 
    } 
} 

If the number of method references in your app exceeds the 65K limit, your app may fail to compile.

Aby uzyskać informacje o tym, jak to zrobić, zobacz Selectively compiling APIs into your executable i Building Apps with Over 65K Methods

+0

Jak doszło do tego rozwiązania @Danh DC? Pracował dla mnie, ale chciałby wiedzieć, jak to masz. –

+1

@MarkaA Jeśli liczba odwołań metod w Twojej aplikacji przekracza limit 65 KB, aplikacja może się nie skompilować. Być może uda Ci się złagodzić ten problem podczas kompilowania aplikacji, określając tylko konkretne interfejsy API usług Google Play, których używa Twoja aplikacja, a nie wszystkie. Aby uzyskać informacje, jak to zrobić, zobacz https://developers.google.com/android/guides/setup#split i http://developer.android.com/tools/building/multidex.html –

+1

Aby było jasne, rzeczą do wstawienia 'build.gradle' jest' multiDexEnabled true'. Również trochę głupio, że Android Studio nie robi tego automatycznie, szczególnie gdy zależności/biblioteki wydają się liczyć w kierunku limitu 65 kilometrów. Moja aplikacja z pewnością nie ma w pobliżu kodu źródłowego 65K w swoim własnym kodzie. – aroth

12

w moim przypadku przy użyciu Android Studio 2.0 Preview 4 nagle dostałem ten problem i dodanie multiDexEnabled true nie pomogło, a także oczyszczenie i przebudowanie nie pomogło.

więc jedyną rzeczą, która rozwiązuje to dla mnie jest usuwanie tego pliku:

YOUR_APP_NAME\app\build\intermediates

i uruchomić aplikację i to działa.

+1

Po wykonaniu tej czynności otrzymałem kilka błędów kompilacji dotyczących trudności w tworzeniu niektórych katalogów w półproduktach, ale ręcznie dodając do projektu, który udało mi się zbudować. Dzięki @humazed! – safetyOtter

+1

Dziękuję. Jest to jedyny sposób, aby to naprawić w moim przypadku (AS 3.0.1) na Windows 10 Pro. Próbowałem innych metod (zrestartuj AS, wyczyść projekt, przebuduj projekt, unieważnij pamięć podręczną/zrestartuj ...) bez rezultatu. – Hong

4

Dla mnie zamknięcie wszystkich innych Android Studio rozwiązało problem.

Otworzyłem 3 androidowe studia, gdy otrzymywałem błąd, po tym jak zamknąłem 2, nie dostałem żadnego błędu.

Nie trzeba dodawać żadnego kodu związanego z multiDex!

Wygląda na to, że był problem z pamięcią związany z jvm.

1

Naprawiono ten problem. W moim przypadku pomogła mi przebudowa projektu. Spróbuj odbudować swój projekt.

0

Dodaj następujący wiersz:

multiDexEnabled true 

Wewnątrz defaultConfig z build.gradle

Jak to:

defaultConfig{ 
    multiDexEnabled true 
} 
4

Modyfikowanie pliku build.gradle moduł poziomie

android { 
    ... 

    // Enabling multidex support. 
    multiDexEnabled true 
} 
... 

}

dodać zależnościach kompilacji 'com.android.support:multidex:1.0.0'

W swoim manifeście dodać klasę MultiDexApplication

<manifest ...> 
<application 
    ... 
    android:name="android.support.multidex.MultiDexApplication"> 
    ... 
</application> 

http://developer.android.com/studio/build/multidex.html

0

W moim przypadku zmień wartość buildToolsVersion z "24" na "23.0.2", rozwiąż problem.To rozwiąże problem zwłaszcza jeśli używasz starego Android Studio mniej niż wersja 2.

0

Znalazłem odpowiedź od here: Po zmianie pliku build.grade z następujących

minSdkVersion 21

targetSdkVersion 25

multiDexEnabled true

działa dobrze.

0

w moim przypadku - Clean Projektu i odbudować

+0

To powinno być komentarzem, a nie odpowiedzią. – GhostCat

Powiązane problemy