標籤:android
唔,之前已經想過今後不動android,沒想到還是因為比賽的原因重操舊業。android有很多問題是由於eclipse的不完善造成的,比如今天遇到的這個問題 Unable to execute dex: Multiple dex files define
[2011-10-23 16:23:29 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;[2011-10-23 16:23:29 - myProj] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
好了,造成這個問題的原因呢,每個人應該遇到的問題不一樣,但是都是因為eclipse編譯器造成的,可以參考一下兩個文章(1.http://blog.csdn.net/asan855/article/details/7568702 2.http://stackoverflow.com/questions/7870265/unable-to-execute-dex-multiple-dex-files-define-lcom-myapp-rarray)
下面說下我的想法和解決方案:
原因一:因為apk編譯出現問題
解決方案:直接刪除bin檔案,eclipse在編譯的時候會再為你自動產生,如果沒有就重啟eclipse
原因二:包名重複
解決方案:包名重複有兩種可能。
1,其一是兩個jar名字一樣,在lib裡可以看一下,如果有一樣的就刪掉一個。
2. 這種情況是大家要注意的。有的時候jar名明明不同,但是也會報這個錯,因為兩個jar裡面的包名有相同的。這就要求我們開啟jar,看看裡面的包名是不是重複。
如是比對,Android_Services_2.2.0.jar和Android_Location_V1.1.2.jar,兩者沒有相同的包。
一些思考:在做程式的時候,遇到bug還是要自己從原理來理解找辦法,像是我上面第二條提到的情況,stackoverflow裡其實也沒交代,有的東西還是要自己多想,不要一味的上網找答案,特別是在操作蛋疼的android時。
/********************************
* 本文來自部落格 “李博Garvin“
* 轉載請標明出處:http://blog.csdn.net/buptgshengod
******************************************/
【Android-tips】 Unable to execute dex: Multiple dex files define 解決方案