我維護一個Android應用程序,並沒有使用Eclipse。我沒有使用Eclipse。我正在使用ant
和build.xml
和build.properties
。如何在沒有Eclipse的APK中包含JAR?
我把我的.jar文件放到libs /目錄下。我的代碼編譯只是丹迪。但是,當我在模擬器上運行它,輸出APK不包含的.jar,所以我得到一個運行時堆棧跟蹤:
ERROR/AndroidRuntime(470): java.lang.NoClassDefFoundError: com.google.ads.AdView
我build.properties
看起來是這樣的:
jar.libs.dir=libs
而庫/目錄包含我的.jar文件。
需要在build.xml中做些什麼才能讓外部的.jar文件包含在APK中?
編輯:理論上這個答案應該可行,但它不適合我。它過時了嗎?是什麼賦予了? How to add external jar libraries to an android project from the command line
嗯。所以它必須是我的build.xml中的東西,然後; 'dexdump -f classes.dex | grep -in adview'產生'3080:0x0013 - 0x0040 reg = 0 adView Lcom/google/ads/AdView;' – poundifdef
雖然我的build.xml基本上是默認的自動生成的, – poundifdef
@poundifdef:不,因爲你看到這意味着該類應該在APK文件中(您可以通過解壓縮APK並從中檢查'classes.dex'來確認,但它應該是相同的AFAIK)。因此,要麼你錯過了一個依賴JAR,要麼就是你試圖創建'AdView'(例如,使用自定義類加載器)有些奇怪。 – CommonsWare