[學習Android遇到的錯誤]conversion to dalvik format failed with erro

來源:互聯網
上載者:User

1。如果不修改android sdk版本,則使用project clean 命令作用於某工程即可。

(該處理方式只是在高版本中相容了低版本工程,未真正意義上的升級)

 

2。如果修改android sdk版本,則需要以下幾個步驟:

 

1)修改SDK

 

選擇工程,buildpath --> configure build path ---> library 刪除引用的低版本SDK,

然後add ExternalJARs,選擇高版本SDK,OK,儲存

 

2)修改classpath檔案

 

該檔案可能存在該項:<classpathentry kind="lib" path ="你所指定的高版本的地址"

把她修改成<classpathentrykind="con"path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK" />

 

3) 修改AndroidManifest.xml

 

在AndroidManifest.xml檔案中,application標籤後添加<uses-sdkandroid:minSdkVersion="3"></uses-sdk>

 

4) 修改default.properties(很重要)

 

該檔案最後一行(前面沒用#的)target=android-3 該成target=android-8,儲存。

再看看你的工程和建立的android2.2的工程結構就一樣了。

 

3.在eclipse開發Android項目時出現的很多問題都可以使用Project--------->clean來輕易解決。

但如果出現說Android庫找不到,或者不小心remove了Android系統庫,怎麼重新添加Android系統庫呢?

 

在eclipse裡面的Java Build Path裡面是沒法添加例如Android 2.1這樣定義好的系統庫。而我嘗試手動添加

SDK 檔案夾裡面的Android.jar,結果出現了Conversion to Dalvik format failed with error 1問題了。折騰了

一番後,很多網友都說用Projectclean可以解決,但對我的情況來說,沒有用處。

 

解決方案:

 

修改項目classpath檔案,這讓我明白了,直接從其他正常項目裡面把

<!-- 注意,這個.classpath檔案在eclipse工作空間的硬碟存放位置對應工程項目目錄下面 -->

<classpathentry kind="lib"path ="自訂jar的地址" />

 

修改成www.2cto.com

<classpathentry kind="con"path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>。

 

這樣子重新整理項目,Android系統庫Android 2.1回來了,那個錯誤也解決了。

--------------------------------------------------------------------------------------------------------------------------

這幾天又遇到這樣的問題了,但是.classpath檔案裡面已經包含了上面的con Path,後來在論壇上找到新方法:

 

project -> properties -> androidlabel, check a target from the project build target list

 

<!-- 這樣有時候還是不能去掉錯誤,這時候注意,在進入project-> properties -> android後,下面有

一個is library項,把它勾上,再點擊確定錯誤就OK了,我的錯誤就是這樣解決的,一開始按照上面

以及後面的方法都解決不了,最後我看到有一個is library項,把它勾上再確定試一下OK,錯誤沒了 -->

(這個is library是表示是不是庫的意思,如果實在沒有別的辦法的時候再試試,具體根據自己的情況)

 

 

4.還有一種情況:包衝突,請到工程目錄下將相同的包刪除,重新匯入一個,這一點和第一種情況類似,不過這是針對其他包,不是android包

 

解決辦法:Java Build Path->Libraries->JARs and class folders on thebuild path

看是否有相同的jar包 有些jar包版本同定 不一定是android的jar包 其他類庫的jar包也會造成這樣的錯誤

上次signpost-core-1[1].2.1.1.jar和signpost-core-1.2.1.1.jar衝突了就出現這樣的錯誤所以你看一下是否有相同的jar包

 

之前比較糾結的就是第四種情況,我從別人那考來了一個andengine遊戲引擎的代碼,我把他的libs檔案夾設定成source folder,後來又把裡面的各個jar包add to buildpath,後來就出現了題目的問題,查了很多解決辦法,都沒有解決,後來仔細觀察發現我的問題和第四點比較像,就把其中的jar全部移除了,然後重新載入一次,這下解決了,哈哈,這裡把方法匯總貼出來,方便查看。

 

 作者:zhyl8157121

 


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.