Eclipse的常見使用錯誤及編譯錯誤

來源:互聯網
上載者:User

(1)匯入工程時出現:Error generating final archive: Debug Certificate

        這樣的編譯錯誤是由於新版的Android SDK調試key有1年的試用期限制,如果當年電腦的Android SDK安裝了一年後會出現這樣的問題,解決的方法只需要刪除早期的key檔案即可,系統預設的key檔案在Eclipse的Window菜單的Preferences => Android => Build菜單下其中Default debug keystore可以看到。

        比如當前使用的Windows XP系統下為可能為 C:\Documents and Settings\使用者名稱\.android\debug.keystore,只需要刪除debug.keystore檔案即可,Eclipse的ADT外掛程式會在下次編譯時間自動產生一個調試版的密鑰使用到期日仍然為1年,但手機上一定別忘了刪除老版本的程式,否則會提示Re-installation failed due to different application signatures這樣的簽名錯誤。

(2)IMPORT工程時出現:Select at least one project

         這個錯誤出現在import一個工程的時候,選擇select all的時候提示有個同名工程。這個錯誤的原因是Eclipse工具在後台開啟了一個同名的工程,將它關掉即可。方法是:windows->show view->project explorer。

(3)建立AVD時出現:Unable to find a 'userdata.img' file for ABI armeabi to copy into the AVD folder

        原因是Android SDK Manager沒安裝完全,就是少安裝了ARM EABI V7A system image,安裝上就好了。

(4)點擊開啟ECLIPSE時出現一個大的提示畫面,有JVM EXIT CODE = -1,還有什麼要求的JAVA版本號碼提示。原因很奇怪,當我把JAVA版本裝成1.5之後,仍然會提示要求1.5的版本;當我裝成1.6之後,把eclipse.ini的最後一句-Xmx1024m改成-Xmx512m,就可以正常開啟並匯入安卓工程了。

(5)用ECLIPSE的DDMS串連目前平台調試時,PUSH內容失敗,提示唯讀系統,使用adb remount即可。

(6)用ECLIPSE的DDMS串連目前平台調試時,PUSH內容失敗,提示Out of memory,方法如下:use the command first: $emulator -avd youravdname -partition-size 128 。Then  the problem maybe resolved.

(7)在DDMS中調試時,拷出拷入檔案時,出現錯誤:Failed to pull selection 或者Failed to push the item(s)。重新串連虛擬機器試試。

(8)import一個工程時,出現:Project has no default.properties file! Edit the project properties to set one.那我們怎麼解決這個錯誤呢?有兩個方法:1、到其他工程裡把這個default.properties檔案拷貝過來直接用(這時候如果發現工程還是有錯誤的話就把工程重新匯入一下,一般可以解決的);2、還有一個超級簡單的方法哈,那就是把project.properties檔案重新命名一下就改成default.properties名稱就OK。
(9)當把一個CODE工程拷貝入workspace後,import這個工程時,出現以下的錯誤提示:

                                    

提示overlap,則只要勾選下方的“copy projects into workspace”即可解決。

(10)運行一個載入的工程時,出現:Unable to resolve target 'android-12'的提示,則說明該工程建立時的API版本跟當前ECLIPSE中AVD帶的版本不一致,解決方案就是:把工程中的default.properties的內容# Project target. target=android-8的值改成一個支援的API版本,重新整理後就可以了。之後,也可以在工程瀏覽視窗中看見載入的安卓API包。

(11)編譯工程時,如果提示對話方塊“java heap”的問題,需要修改eclipse.ini中分配記憶體的大小,這種情況也會出現在添加了某些自訂jar之後出現。如果修改了eclipse.ini,可能會導致啟動eclipse提示啟動VM異常,這時確保在檔案開頭有VM路徑:

-vm
C:\Program Files\Java\jdk1.7.0_05\bin\javaw.exe

===============================================編譯及運行錯誤===========================

(1)一運行APK時,就出現異常退出,LOGCAT提示“java.lang.VerifyError”。
這種一般反映是jar錯誤,說重載入jar後就好。後來我在該錯誤提示的前面部分發現提示一些類有問題,在工程中重新import這些被重寫的類(不用libs的jar中的類)就好了。

(2)運行apk時提示“Syntax error on token(s), misplaced construct(s)”,是說建構函式有文法問題。

(3)編輯JAVA檔案出現“the public type xxx must be defined in its own file .”,原因是:作為public 類應該和檔案名稱一致,源檔案中公關類名要與檔案名稱相同。一個檔案裡只能有一個public類。如果僅僅是新加一個本檔案中要用到的類,不加public就行,作用範圍就是當前檔案。

(4) 如果某個安卓工程需要用到外部匯入的jar類,在工程配置中選擇“java build path”-》“librarys”頁面-》“add library”-》“user library”,在彈出頁面的右邊選擇“user libraries”-》“new”,輸入想要的包名字即可(記得勾選下面的system library(add to the boot class path),否則出現編譯錯誤Conversion to Dalvik format failed);之後就可以把jars添加到自訂的檔案夾中,方法是:在“librarys”頁面中啟用剛建的包名-》“edit”,在“preference”頁面中選擇“add
jars”就可以了。要是想把不用的jar刪掉,點擊“edit”按鈕進行編輯。在實際使用中,如果有必要調節庫的優先順序的話,還需要點擊“order and export”頁面,用up或者down調整庫的優先順序。

(5)編譯工程出現錯誤DEX提示:在將ADT和SDK Tool升級到最新(分別是21.1和16.0.1)之後,編譯工程在控制台會出現:

[2013-02-22 09:54:08 - Dex Loader] Unable to execute dex: Cannot merge new index 68664 into a non-jumbo instruction!
[2013-02-22 09:54:08 - com.konkagene.smartstay.SmartStay] Conversion to Dalvik format failed: Unable to execute dex: Cannot merge new index 68664 into a non-jumbo instruction!

很多人都會遇到這個問題,只是錯誤資訊中的數字不同而已。在網上找到相應解決方案是:可以在工程的project.properties裡添加一行dex.force.jumbo=true ,clean再build一下就沒問題了。實驗後確認有效,解決了編譯錯誤問題。

        但是產生的APK在某些機器上不能安裝(Installation error: INSTALL_FAILED_DEXOPT),針對這個問題的一個可能解釋是:最新的ADT和SDK Tool在將jar轉化成dex的時候,某些因素導致不能通過驗證,所以安裝失敗。

(6)通過虛擬機器運行一個應用時,出現:emulator: ERROR: Unable to load VM from snapshot. The snapshot has been saved for a different hardware configuration.解決方案是:Android Virtual Device Manager -> delete AVD -> new AVD,重新建立個AVD,解決。

(7)原本的工程正常,再添加了一個外部jar包後,某些以前未出錯的java檔案頭的package語句,提示錯誤。執行clean多次也解決不掉。有人支招是:某個java檔案中有兩相同名字的類,而類名只是用大小寫母區分,導致出錯。

 

參考原文:http://www.189works.com/article-40450-1.html

參考原文:http://hi.baidu.com/kaisep/item/2723860c05b9777fbfe97e8c

參考原文:http://blog.csdn.net/soliuyong/article/details/6455734

參考原文:http://blog.csdn.net/itmyhome/article/details/7010547

參考原文:http://bbs.csdn.net/topics/360095111?page=1#post-393430875

參考原文:http://zhidao.baidu.com/question/145236382.html

參考原文:http://blog.csdn.net/asdf39877/article/details/8198881

參考原文:http://blog.sina.com.cn/s/blog_70e6ed3a01013afx.html

參考原文:http://www.cnblogs.com/frydsh/archive/2013/02/20/2918969.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.