關於finished with non-zero exit value 1、2、3的bug解決總結

在最近的一個項目中碰到好幾次finished with non-zero exit value 1、finished with non-zero exit value 2、finished with non-zero exit value 3這種莫名其妙的bug導致程序編譯不過去。現在閒下來了總結一下解決辦法:

finished with non-zero exit value 2:出現這種bug一般是因爲你的項目裏面出現了重複的jar包導致的,這種場景一般是在你引用的第三方依賴包裏面和你的項目中導入了相同的jar包,一般常見的有v4,v7包。出現這種情況仔細檢查一下,解決方法就是刪除掉你項目中多餘的jar包,保留依賴包裏面的jar包就可以了。如果實在是沒有發現有重複的jar包的話建議你重新換一個v4或者v7包。比如:

compile 'com.android.support:appcompat-v7:23.0.1'
換成:
compile 'com.android.support:appcompat-v7:22.2.0'

finished with non-zero exit value 1:隨着我的項目越來越大,到了最後面編譯的時候又出現了這麼一個玩意,後來百度了一下才發現也有很多和我一樣遇到這種問題的,最終解決了這個問題的方法就是在build.gradle裏面加入:

dexOptions {
        javaMaxHeapSize "4g"
    }

除了這種情況外也有可能子工程裏面有資源圖片是從主工程傳入的提示圖片重複,這個一般會提示哪張圖片重複了,按照提示刪除重複圖片rebuild就可以了。如果以上兩種方式都無法解決你的問題,或者你是把eclipse工程轉移到android studio下的話那麼檢查一下你的launch icon的引用方式,如果是drawable的話給成mipmap,如果tools標紅,manifest標籤中增加xmlns:tools=”http://schemas.android.com/tools”即可。這裏又要簡單說一下在studio中drawable和mipmap的區別(mipmap下面放我們應用的icon,drawable下放我們應用的圖片資源),具體的不多說,想詳細瞭解的可以專門去百度一下。如果還無法解決的話歡迎留言一起討論。

 finished with non-zero exit value 3:java堆內存不足,我在stack over上面有一種解決方法是把"compile fileTree(dir: 'libs', include: ['*.jar'])"
改成 "provided fileTree(dir: 'libs', include: ['*.jar'])",這樣能解決問題,但是我修改了build裏面的配置解決的,修改如下:

</pre><pre name="code" class="java" style="font-size: 14px;">dexOptions {
        javaMaxHeapSize "4g"
    }

,有碰到這種情況的都可以試試,bug嘛,就是多試試,哪種可以用哪種.



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章