dalvikvm Could not find class '引用包.類(lèi)', referenced from method...
其實(shí)在編譯時(shí)也會(huì)見(jiàn)到如下錯(cuò)誤:
[dx]
[dx] trouble processing:
[dx] bad class file magic (cafebabe) or version (0033.0000)
[dx] ...while parsing com/novell/sasl/client/DigestChallenge.class
[dx] ...while processing com/novell/sasl/client/DigestChallenge.class
有推薦使用 JDK7來(lái)解決類(lèi)似問(wèn)題的帖子,可是我照做并沒(méi)有解決問(wèn)題。
先來(lái)說(shuō)說(shuō)我的開(kāi)發(fā)環(huán)境吧。
那是在2013年末配置的環(huán)境,ADT 大版本號(hào)是22,tools 大版本號(hào)也是22,Plantform-tools 已經(jīng)是最新的21,build-tools 是18.1.1。
經(jīng)過(guò)同事的實(shí)踐,問(wèn)題應(yīng)該歸咎于 build-tools 版本低的緣故。
這里我們要重新配置一下代理,去 neusoft.edu.cn 鏡像網(wǎng)站中下載最新的工具和 SDK。
啟動(dòng) Android SDK Manager(命令行中直接輸入android),Tools--->Options...,彈出 Android SDK Manager - Settings 窗口;在HTTP Proxy Server 和 HTTP Proxy Port 輸入框內(nèi)填入 mirrors.neusoft.edu.cn(注意沒(méi)有http等前綴)和80,并且選中Force https://... sources to be fetched using http://...復(fù)選框。 再選擇 Packages--->Reload。
此時(shí)會(huì)發(fā)現(xiàn)我們順利的取到 Packages 了,那么我們盡情下載吧。除了最新的 Android 5.0.1 還沒(méi)有提供,其他的一應(yīng)俱全了。
tools 更新到最新是24.0.2, build-tools 我選擇了19.1、20 和21.1.2,分別對(duì)應(yīng) API19(4.4.2)、API20(L)和 API21(5.0).
Android 5.0全部選擇。
由于更 tools 升級(jí)到最新,那么 ADT22已經(jīng)過(guò)期了,需要使用23及以上版本的 ADT。找到好心人上傳的23.03,安裝時(shí)發(fā)現(xiàn) eclipse 版本不支持最新的 ADT(我使用的Juno),好吧,既然這樣就都來(lái)新的吧。
最新的版本是 luna,還是130多兆。解壓后直接啟動(dòng)。
這時(shí)在 Help--->Install New Software --->Add, 選擇 ADT23.03 ZIP 包,將“Contact all update sites during install to find required software.”勾選掉。 繼續(xù)完成安裝。
一切準(zhǔn)備就緒,將之前有問(wèn)題的項(xiàng)目引入進(jìn)來(lái),編譯,出現(xiàn)內(nèi)存方面的問(wèn)題。
出現(xiàn)了兩個(gè)問(wèn)題:
1.unable to execute dex:java heap space
2.Conversion to Dalvik format failed: Unable to execute dex: GC overhead limit exceeded
配置 eclipse.ini,將 Xms40m 和 Xmx512m 修改成126m 和1024m,這個(gè)值要根據(jù)自己機(jī)器配置調(diào)整,只要運(yùn)行良好就 ok。
$ cat eclipse.ini
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140603-1326
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms126m
-Xmx1028m
重啟、clean 項(xiàng)目,編譯,通過(guò)!運(yùn)行,正常!至此我的最新 Android 開(kāi)發(fā)環(huán)境搭建完成。
時(shí)刻保持與時(shí)俱進(jìn)的心態(tài),穩(wěn)定的新工具對(duì)我們的工作益處多多。