1

我有一个 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。

有没有人遇到过这种问题?

4

1 回答 1

2

原来问题在于我为库应用程序创建的 jar 包含来自原始应用程序的 R.class 和 Manifest.class 文件。Eclipse/ADT 然后在 gen 文件夹中创建了这些副本的第二个副本。这个问题是什么提示我看罐子里面。

于 2013-11-15T15:52:41.853 回答