【发布时间】:2013-11-14 14:16:04
【问题描述】:
我有一个 Android 应用程序(理论上)可以变成一个库并放入一个外部应用程序中。然后,外部应用程序可以创建一个包含我的应用程序的选项卡。库应用程序的设置方式与 google-play-services 库类似,其中代码存储在 libs 文件夹中的 jar 文件中。
我遇到的第一个问题是我得到了
Unable to execute dex: Multiple dex files define Lcom/MyLibraryApp/R$anim
当我尝试在模拟器中运行外部应用程序时。经过大量的谷歌搜索和死胡同,我能够通过取消选中构建路径菜单的“订购和导出”部分中的“Android Private Libraries”来运行外部应用程序。但是当我转到调用库应用程序的选项卡时,我得到了
java.lang.NoClassDefFoundError: com.MyLibraryApp.SplashScreen
在这里检查后,似乎解决方案是重新检查“Android Private Libraries”。所以我有点卡住了,因为我要么检查 Android Private Libraries 并得到 Multiple Dex Files 问题,要么取消选中它并得到 NoClassDefFoundError。
以前有人遇到过这种问题吗?
【问题讨论】:
-
android-support-v4.jar需要在 2 个应用程序中相同。尝试将一个复制到另一个或从其中一个应用程序中删除它。 -
是的,我已经尝试过了,不幸的是,它没有解决问题。
-
原来问题在于我为库应用程序创建的 jar 包含来自原始应用程序的 R.class 和 Manifest.class 文件。 Eclipse/ADT 然后在 gen 文件夹中创建了这些副本的第二个副本。 This question 提示我查看罐子内部。
标签: java android mobile noclassdeffounderror dex