有時你會發現,在你使用Android Studio 進行編譯的時候提示:
Error:Execution failed for task ':demo:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'java.exe'' finished with non-zero exit value 2
為什么會這樣呢?你就算是重啟呀AndroidStudio,重啟電腦也不行。
那么想想,只前有什么操作?是不是有新的Lib之類的引用庫加入了?
這個時時候就不能只看最后的異常了,還要往上看,我發現的結果就是包名沖突,有重復的jar包名。這里的包名不是指jar的名稱相同,而是指jar包里的相同的包名。排除沖突即可。
===============================================================
網上提供的另一種解決的辦法,不過我發現對我這個異常來說,沒有用。
----------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX---------------------------
其實直接打開Gradle項目中的,對應項目的腳本文件 ,改成如下的就行了
dependencies {
compile project(':demo')
provided fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v4:22.1.1'
compile 'com.android.support:appcompat-v7:22.1.1'
}
即將 引用的庫的條件改為provided,不要用compile.因為它們已經是庫了,再編譯就。。。
參考URL:https://github.com/frankiesardo/icepick/blob/master/README.md#download