簡體   English   中英

:app:dexDebug ExecException 以非零退出值 2 結束

[英]:app:dexDebug ExecException finished with non-zero exit value 2

任何人都可以幫助我解決以下錯誤。 當我清理項目時,它沒有顯示任何錯誤,但每次我嘗試運行時都會收到此消息。

錯誤:任務 ':app:dexDebug' 執行失敗。

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\\Program Files\\Java\\jdk1.8.0_45\\bin\\java.exe'' 完成了非零退出值 2

該應用程序運行時沒有錯誤,但是當我的系統崩潰並重新啟動 android studio 時,我幾乎沒有對 Android API 22 進行更新。更新后,應用程序不斷給我這個錯誤消息。 我下載了 JDK 8 並嘗試運行但沒有工作。 后來我在這個堆棧帖子之后降級到 JDK 7,但仍然沒有修復它。 是否可以將 Java 8 用於 Android 開發?

我已經瀏覽了許多類似的問題,但沒有一個對我有用。 在堆棧上發現的一些類似問題是

為什么java.exe在android studio中以值1退出

錯誤:任務 ':app:dexDebug' 執行失敗。 > comcommand 以非零退出值 2 結束

Java 以非零退出值 2 結束 - Android Gradle

java.exe 以非零退出值 2 結束

Process 'command' C:\\Program Files\\Java\\jdk1.8.0_31\\bin\\java.exe''以非零退出值2結束

我查看了 gradle 中的依賴項,看看是否有任何沖突,但沒有發現。

我什至試圖將代碼復制到一個新項目中並運行它,但仍然沒有成功。 任何遇到同樣問題並解決了它的人請幫助我。

經過幾天的嘗試,終於可以解決這個問題。 我的 .jar 文件之一的問題。 我不得不取出每個罐子並一一檢查,直到找到為止。 我刪除了 .jar 文件並清理了我的項目並成功運行。 如果有人遇到類似問題,請一一檢查您的 jar 文件。

我有同樣的錯誤

app:dexDebug ExecException 以非零退出值 2 結束

我通過添加這行代碼來解決它

defaultConfig {
        multiDexEnabled true
}

原因是我使用了太多的庫

希望這篇文章可以幫助任何人

當我將 google play 服務編譯到我的依賴項時,我遇到了同樣的問題。

我的錯誤是我正在編譯這樣的 enitre 包

編譯 'com.google.android.gms:play-services:8.3.0'

相反,當我嘗試選擇性編譯時,它起作用了。在我的情況下,我使用的是谷歌登錄,所以它只需要

編譯“com.google.android.gms:play-services-auth:8.3.0”。

更多細節在文檔中。 https://developers.google.com/android/guides/setup#split

希望有一天這對某人有一點幫助:)

我知道已經晚了。 但這正是對我有用的。

1. Build > Clean Project
2. Close gradle daemon processes (ps -e| grep gradle  //this will list gradle processes)
3. File > Invalidate caches & Restart

我希望這對每個人都有效。

對我來說,解決方案是刪除不必要/重復的依賴項。 這是其他人在這里提供的類似解決方案,但與其他人提供的解決方案並不完全相同。

由於我已經在要編譯的文件列表中包含了 *.jar 文件,因此不需要在依賴項列表中添加其他條目。



前:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.parse.bolts:bolts-android:1.+'
    compile fileTree(dir: 'libs', include: 'Parse-*.jar')
}

后:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])

compile 'com.android.support:appcompat-v7:22.2.0'

}

對於未來的讀者。 如果您使用自己的 AAR 並升級了具有共享依賴項的 AAR,您也可以嘗試清理項目。 在 Android Studio 中“構建”->“清理項目”。

這為我解決了這個問題,因此我建議您在開始挖掘依賴項之前快速嘗試一下。

刪除compile 'com.parse:parse-android:1.+'

添加這一行compile fileTree(dir: 'libs', include: ['Parse-*.jar'])

最后,它看起來像這樣

dependencies {
compile fileTree(dir: 'libs', include: ['Parse-*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.facebook.android:facebook-android-sdk:4.5.0'
compile 'com.android.support:design:22.2.0'
compile 'com.parse.bolts:bolts-android:1.+'
}

我遇到了同樣的問題,只是我做了 Biuld--> Rebiuld 項目,它又可以工作了 ;)

我在我的 android 項目中使用了 robolectric 依賴項。 我刪除了 gradle 中的所有 robolectric 依賴項並刪除了我所有的 robolectric 測試,然后我構建了應用程序,最后我可以運行 android 項目。 希望這對我們有用。

嘗試將SignalR Java 客戶端庫添加到我的項目依賴項時,我遇到了同樣的問題。 我首先將我的應用程序的目標 JDK 從 1.8.0_XX 更改為 1.7.0_XX,但它不起作用。 然后我將 SignalR 項目也更改為目標 1.7.0_XX,重建並將其添加到我的項目的 libs 文件夾而不是第一個構建(在 1.8.0_XX 中),並且奇跡般地起作用了。

對我來說,問題是我使用了不同版本的“Google Play 服務子 API”

之前:點擊查看圖片

之后:點擊查看圖片

檢查是否有 2 個具有相同名稱的類。 每個類名都應該是唯一的。

也許對於這個問題,你得到的意味着你不止一次添加了相同的 liberay 文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM