由adt和sdk升級引發的血案!!!

       最近閒來無事,就想着把eclipse的android 開發環境升級下!

      升級adt是採用下載adt到本地然後在用eclipse中的install升級,這下完了,升級完後就引來了一大推問題,顯示sdk與adt版本兼容問題,網絡上很多關於這方面的解決方案,我再整理下:

大致是兩種:

1、先升級的adt,sdk不能使用,具體的會在你運行android程序時彈出提示框;如果是這樣那隻能升級sdk了,電腦能連網,那很好,電腦不能連網,那隻能去能連網的下完拷貝過來了。

2、先升級的sdk,這種情況只要改改配置文件就行了

詳情可百度:sdk與adt兼容

        更新完後,發現android工程目錄會有改變,這些剛開始沒引起我太大的注意,但沒想到後來竟讓我花了一天的時間去搞定因爲升級帶來的系統維護的問題。NND,今天很讓人抓狂啊!

       廢話不多說:異常打印出來的runtime error,大致是NoClassDeFoundError。百度了一堆都是再說環境變量沒配好,很抓狂,後面換了搜索關鍵詞大致是 no supper class of  XXX這類的才搜索出原因,因爲adt升級後17以上後android工程的目錄框架發生了稍微的變化,你需要用的外部jar都必須放在根目錄下的文件夾libs下。系統會自動在libs下搜索jar,這個甚至不需要你用傳統的方法導入jar。很NX但是很不習慣。

      欲哭無淚啊!本以爲大功告成了,沒想到運行程序後在android手機端調用javaMail發送郵件時報錯了:Could not find class 'javax.activation.DataHandler'!這又讓我徹底陷入了謎團中。百度谷歌了很多都沒有解決,後面在stackoverflow找到 答案了。javaMail有對應的android的port,也就是說jar是不一樣的,後來把jar換成從http://code.google.com/p/javamail-android/的additionnal.jar、mail.jar、activation.jar運行下程序就可以了 。真是鬱悶,但總算是鬆了一口氣,俗話說得好:沒有解決不了的問題,只要有不死的心!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章