當我清理項目中,我得到以下錯誤:不明智的或錯誤的使用(Java *或使用javax。*)時,不建立一個核心庫
[2011-10-05 13:47:53 - The Basics] Dx
trouble processing "java/nio/CharBuffer.class":
Ill-advised or mistaken usage of a core class (java.* or javax.*)
when not building a core library.
這通常是由於在使用IDE(如Eclipse的 )時,在應用程序項目中無意中包含核心庫文件 。如果你確定你不是故意定義一個 核心類,那麼這是對 正在進行的最可能的解釋。
但是,你實際上可能試圖在覈心 命名空間來定義一個類,其源,你可能已經採取了,例如, 從非Android的虛擬機項目。這將大多數 肯定無法正常工作。至少,它會危害您的應用與該平臺的未來版本的兼容性 。 它也常常是有問題的合法性。
如果你真的打算建立一個核心庫 - 這是隻有 適合作爲創建一個完整的虛擬機 發行版的一部分,而不是編譯應用程序 - 然後使用 的「--core庫」選項來抑制此錯誤消息。
如果你繼續使用「--core-library」,但實際上是 構建一個應用程序,那麼應該預先警告你的應用程序 在某些時候仍然無法構建或運行。請爲 爲憤怒的客戶做好準備,例如,發現您的 應用程序在升級其運營 系統後停止運行。你會責怪這個問題。
如果您正在使用合法的一些代碼恰好是在 核心包,那麼你有最簡單安全的替代是 重新包裝的代碼。也就是說,將有問題的類移動到您自己的包名稱空間的 。這意味着他們永遠不會與 與核心系統類衝突。 JarJar是一個工具,可以幫助你在這個努力中。如果你發現你不能這樣做,那麼這表明你所在的路徑最終會導致痛苦,痛苦,悲傷和悲傷。
[2011-10-05 13:47:53 - The Basics] Dx 1 error; aborting
[2011-10-05 13:47:53 - The Basics] Conversion to Dalvik format failed with error 1
感謝您的回答...... JUnit是什麼導致了我的錯誤。簡而言之, – tantalum