andriod中如果引入jar包的方式不對就會出現一些奇怪的錯誤。
工作的時候恰好有一個jar包需要調用,結果用了很長時間才解決出現的bug。剛開始是這樣引用的(eclipse):右鍵工程,Build path,
java build path,選擇libraries,在右邊的按鈕中點擊“Add External JARs”,然後選擇合適的jar包(大部分人應該會這樣做).結果控制台立刻報錯:conversion to dalvik format failed with error 1。而且項目上還會出現紅叉,雖然項目裡並沒有錯誤。照下面的方法會通過編譯,但是啟動並執行時候會出錯找不到類的錯誤。
右鍵工程,
Build path,
java build path,選擇libraries
在右邊的按鈕中點擊“Add Library”
選擇“User library”,點擊“下一步”
點擊“User librarys”按鈕
在出現的介面中點擊“New..”按鈕
在彈出的介面中隨便起一個名字,點擊“確定”
點擊“Add jars”按鈕選擇第三方jar包,點擊“確定”完成操作。
其實有些jar在android上是不能用的。可以參考一個文章 http://topic.csdn.net/u/20091118/16/5a27d8e7-d8a2-43b3-92db-9d88ff8f7bec.html
下面這段話是網上找的資料:
由於前段時間曾為 使用第三方的 mail包遇到過這種問題。於是查閱過相關資料,其原因之一是我上面所講的Android的架構策略問題。但並不全面。也許 咖啡茶 兄所碰到的情況並不是這種,在此 關於 對咖啡茶兄的情況所作出草率的結論,表示歉意。
這兩天對Android使用第三方jar包的問題,也一直牽腸掛肚,到底什麽樣的jar包可以用在Android平台上?
我繼續查閱相關資料,及與國外開發人員的交流。Android 的 davlkvm 與 我們標準的 jvm 所執行的bytecode格式是不樣的,且並不相容。為此Android提供DX工具用於對標準.class檔案格式的轉換。
按照官方文檔操作,我們在工程在引入第三方包就可以使用了。於是我試過一些包,但大多不可以用。於是我用dx工具單獨做轉換操作,發現能單獨做轉換的jar包可以正常使用,然而大多數的jar包無法通過Dx工具的轉換。也就不能做第三方jar包引用。
至於為什麽有的jar包不能通過 dx工具的格式轉換,我也不得而知了。期望大牛們能做進一步的研究。。。。。