使用 android 库项目作为参考的 ClassDefNotFound 异常
ClassDefNotFound exception using android library project as reference
我有一个 android 库项目,我想从另一个项目中引用它。
图书馆项目包含活动和 xml 布局。
我已将其参考添加如下
MyProject properties-->Java Build Path--> projects like this
然后按如下顺序导出其列表
但是当我尝试从引用的项目调用 activity 时,出现异常,这是堆栈跟踪
05-05 15:01:20.246: E/AndroidRuntime(6669): FATAL EXCEPTION: main
05-05 15:01:20.246: E/AndroidRuntime(6669): java.lang.NoClassDefFoundError: jp.co.kom.android.ezimage.EZImageActivity
05-05 15:01:20.246: E/AndroidRuntime(6669): at com.example.ezimgtest.MainActivity.openEZImage(MainActivity.java:56)
05-05 15:01:20.246: E/AndroidRuntime(6669): at com.example.ezimgtest.MainActivity.onClick(MainActivity.java:29)
05-05 15:01:20.246: E/AndroidRuntime(6669): at android.view.View.performClick(View.java:4234)
05-05 15:01:20.246: E/AndroidRuntime(6669): at android.view.View$PerformClick.run(View.java:17363)
05-05 15:01:20.246: E/AndroidRuntime(6669): at android.os.Handler.handleCallback(Handler.java:615)
05-05 15:01:20.246: E/AndroidRuntime(6669): at android.os.Handler.dispatchMessage(Handler.java:92)
05-05 15:01:20.246: E/AndroidRuntime(6669): at android.os.Looper.loop(Looper.java:137)
05-05 15:01:20.246: E/AndroidRuntime(6669): at android.app.ActivityThread.main(ActivityThread.java:4970)
05-05 15:01:20.246: E/AndroidRuntime(6669): at java.lang.reflect.Method.invokeNative(Native Method)
05-05 15:01:20.246: E/AndroidRuntime(6669): at java.lang.reflect.Method.invoke(Method.java:511)
05-05 15:01:20.246: E/AndroidRuntime(6669): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
05-05 15:01:20.246: E/AndroidRuntime(6669): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
05-05 15:01:20.246: E/AndroidRuntime(6669): at dalvik.system.NativeStart.main(Native Method)
检查您是否已将 class 包含在清单中。
同时检查以下答案,
NoClassDefFoundError for code in an Java library on Android
我认为您的 activity EZImage 活动是在库 manifest.Actual 中声明的 androidManifest.xml 版本 20 的 ADT 工具支持合并。
使用 manifestmerger.enabled 属性.
启用
我有一个 android 库项目,我想从另一个项目中引用它。
图书馆项目包含活动和 xml 布局。
我已将其参考添加如下
MyProject properties-->Java Build Path--> projects like this
然后按如下顺序导出其列表
但是当我尝试从引用的项目调用 activity 时,出现异常,这是堆栈跟踪
05-05 15:01:20.246: E/AndroidRuntime(6669): FATAL EXCEPTION: main
05-05 15:01:20.246: E/AndroidRuntime(6669): java.lang.NoClassDefFoundError: jp.co.kom.android.ezimage.EZImageActivity
05-05 15:01:20.246: E/AndroidRuntime(6669): at com.example.ezimgtest.MainActivity.openEZImage(MainActivity.java:56)
05-05 15:01:20.246: E/AndroidRuntime(6669): at com.example.ezimgtest.MainActivity.onClick(MainActivity.java:29)
05-05 15:01:20.246: E/AndroidRuntime(6669): at android.view.View.performClick(View.java:4234)
05-05 15:01:20.246: E/AndroidRuntime(6669): at android.view.View$PerformClick.run(View.java:17363)
05-05 15:01:20.246: E/AndroidRuntime(6669): at android.os.Handler.handleCallback(Handler.java:615)
05-05 15:01:20.246: E/AndroidRuntime(6669): at android.os.Handler.dispatchMessage(Handler.java:92)
05-05 15:01:20.246: E/AndroidRuntime(6669): at android.os.Looper.loop(Looper.java:137)
05-05 15:01:20.246: E/AndroidRuntime(6669): at android.app.ActivityThread.main(ActivityThread.java:4970)
05-05 15:01:20.246: E/AndroidRuntime(6669): at java.lang.reflect.Method.invokeNative(Native Method)
05-05 15:01:20.246: E/AndroidRuntime(6669): at java.lang.reflect.Method.invoke(Method.java:511)
05-05 15:01:20.246: E/AndroidRuntime(6669): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
05-05 15:01:20.246: E/AndroidRuntime(6669): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
05-05 15:01:20.246: E/AndroidRuntime(6669): at dalvik.system.NativeStart.main(Native Method)
检查您是否已将 class 包含在清单中。
同时检查以下答案,
NoClassDefFoundError for code in an Java library on Android
我认为您的 activity EZImage 活动是在库 manifest.Actual 中声明的 androidManifest.xml 版本 20 的 ADT 工具支持合并。 使用 manifestmerger.enabled 属性.
启用