安卓工程conversion to dalvik format failed的解決辦法

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所有移除了,而後從新加載一次,這下解決了,哈哈,這裏把方法彙總貼出來,方便查看。java

五、檢查代碼中是否適用了與android或與java或與引用庫內相同的包名,如我出現的問題是由於個人一個包名是java.xxandroid


來源: <http://dev.wo.com.cn/docportal/doc_queryMdocDetail.action?mdoc.docindex=6540>app

相關文章
相關標籤/搜索