正如主題表明我想創建一個使用一些android功能(沒有佈局),並將包括在Android項目中的jar庫。 這是可能的和如何? 從我做的研究,我設法包括一個簡單的jar文件,使用純Java(JAVA SE 1.6),但 當我嘗試創建一個jar文件時,我試圖運行Andoid應用程序時遇到以下異常:
致命異常:主要
java.lang.NoClassDefFoundError:mylib.pleasework.amen
我試過包括的android.jar在我的圖書館和移除Java庫,使該jar文件,建立針對Android SDK中,但它沒」工作。
我試過將jar文件包含在/ libs文件夾下,因爲它被認爲是從ADT v17和之後導入android項目中的jar的正確方法,但那也不起作用。
我想創建的jar不會使用任何資源(xml佈局,strings.xml),只需要Log.d和WifiManager。
我知道Android庫項目,但我的圖書館資源是敏感的,如果暴露在Android庫項目中,恐怕它不安全。我正在考慮創建一個jar並使用ProGuard(http://developer.android.com/tools/help/proguard.html)對其進行混淆。 我想我提到了一切。任何幫助將不勝感激。是否有可能創建包含android功能的jar?
感謝,
托馬斯
首先謝謝你的回答。我已經從Eclipse中導出jar文件,並將其導入到我的Android項目中,並且在構建時一切正常。在運行時,我得到了上面提到的異常。我不知道是否直螞蟻使用會有所作爲我想我會嘗試......在我的jar我應該包括出口android.jar或不?關於安全性,如果我理解正確,創建一個庫項目並導入jar會創建一個「封裝」層,因此它會更安全? – 2012-07-11 11:30:25
@ThomasKa:如果您使用的是R17或更高版本的工具,那麼只需在'libs /'中使用JAR即可。如果它沒有找到這些類,請確保它們在JAR中,在我的jar中標記爲'public'等。「我應該包括 - 也不會導出android.jar?」 - 絕對不。 「創建一個庫項目並導入jar會創建一個更多的」封裝「層,因此它會更安全?」 - 一旦代碼離開開發機器,它本質上是不安全的。我猜你的問題是你不想發佈源代碼,並且有辦法解決這個問題。 – CommonsWare 2012-07-11 11:35:59