#### 一、一切由運行時錯誤引起
dalvikvm Could not find class '引用包.類', referenced from method...?
其實在編譯時也會見到如下錯誤:
?????? [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
#### 二、嘗試
1.使用JDK7
有推薦使用JDK7來解決類似問題的帖子,可是我照做并沒有解決問題。
2.升級build-tools
先來說說我的開發環境吧。
那是在2013年末配置的環境,ADT大版本號是22,tools大版本號也是22,Plantform-tools已經是最新的21,build-tools是18.1.1。
經過同事的實踐,問題應該歸咎于build-tools版本低的緣故。
#### 三、最新開發環境的搭建(Eclipse & ADT&SDK)
##### 1.各tools的升級
這里我們要重新配置一下代理,去neusoft.edu.cn鏡像網站中下載最新的工具和SDK。
啟動 Android SDK Manager(命令行中直接輸入android),Tools--->Options...,彈出Android SDK Manager - Settings窗口;在HTTP Proxy Server和HTTP Proxy Port輸入框內填入mirrors.neusoft.edu.cn(注意沒有http等前綴)和80,并且選中Force https://... sources to be fetched using http://...復選框。?再選擇Packages--->Reload。
此時會發現我們順利的取到Packages了,那么我們盡情下載吧。除了最新的Android 5.0.1還沒有提供,其他的一應俱全了。
tools更新到最新是24.0.2,
build-tools我選擇了19.1、20和21.1.2,分別對應API19(4.4.2)、API20(L)和API21(5.0).
Android 5.0全部選擇。
##### 2.ADT的升級
由于更tools升級到最新,那么ADT22已經過期了,需要使用23及以上版本的ADT。找到好心人上傳的23.03,安裝時發現eclipse版本不支持最新的ADT(我使用的Juno),好吧,既然這樣就都來新的吧。
##### 3.eclipse luna
最新的版本是luna,還是130多兆。解壓后直接啟動。
##### 4.再次安裝ADT
這時在Help--->Install New Software --->Add, 選擇ADT23.03 ZIP包,將“Contact all update sites during install to find required software.”勾選掉。
繼續完成安裝。
一切準備就緒,將之前有問題的項目引入進來,編譯,出現內存方面的問題。
#### 四、dex的問題
出現了兩個問題:
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,這個值要根據自己機器配置調整,只要運行良好就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項目,編譯,通過!運行,正常!至此我的最新Android開發環境搭建完成。
#### 五、結論
時刻保持與時俱進的心態,穩定的新工具對我們的工作益處多多。
- 前言
- 一:文本與布局
- 二:組合控件
- 三:性能測試類
- 四:語音識別
- 五:讀取Excel
- 六:PreferenceActivity使用詳解
- 七:按鈕控制ViewPager的左右翻頁
- 八:Ubuntu下切換JDK版本
- 九:最新Android開發環境(Eclipse+ADT+Android 5.0)
- 十:獲得屏幕物理尺寸、密度及分辨率
- 十一:Android Studio和Gradle
- 十二:Android Studio導入第三方類庫、jar包和so庫
- 十三:APK簽名
- 十四:混淆與反編譯
- 十五:多分辨率適配常用目錄
- 十六:getprop與dumpsys命令
- 十七:Linux下的模擬器硬件加速
- 十八:adb取出安裝在手機中的apk
- 十九:android studio導出jar包(Module)并獲得手機信息
- 二十:兩個開源的圖表/報表控件
- 二十一:Android原型設計工具探索
- 二十二:Android 5.1 SDK下載與配置
- 二十三:Android Studio的NDK開發
- 二十四:橫豎屏切換
- 二十五:模擬器如何重啟?試試Genymotion!
- 二十六:persistableMode與Activity的持久化
- 二十七:Maven編譯開源二維碼掃描項目zxing