我在Netbeans中創建了一個包含少數非平臺特定類和接口的小型JAR庫。然後,我通過將它放在libs
文件夾中,在Android Eclipse項目中使用此JAR文件。然後我可以將任何類或接口導入到android代碼中,沒有任何問題。我也可以擴展Android View類,並實現JAR文件中包含的接口,並且這個自定義視圖顯示在佈局編輯器(在Eclipse中),沒有任何問題。在運行時創建一個外部JAR針對JDK 1.7結果NoClassDefFoundError
當我嘗試在模擬器上運行應用程序時,問題就出現了。它崩潰了,logcat給出了一個NoClassDefFoundError
,抱怨說,儘管我將它包含在構建路徑中,但它無法解析JAR文件中的類。
我最初構建了針對JDK 1.7的JAR文件,但我碰巧嘗試將其更改爲JDK 1.6,然後應用程序可以正常工作。
有沒有人遇到過這個? JDK 1.7與Android不兼容?
javac -version
報告1.7.0_17
你有鏈接到文件的地方這是陳述? – Kerry
ADT是硬編碼,只有Java編譯器1.5和1.6符合https://android.googlesource.com/platform/sdk/+/master/eclipse/plugins/com.android.ide.eclipse.adt/src/com /android/ide/eclipse/adt/AdtConstants.java。您可以重新編譯ADT,但我發現除了重新編譯整個Android之外,沒有簡單的方法可以做到這一點。 – silentnuke