0

我拿了一个完整的应用程序并将其复制并使其成为一个库(Properties -> Android,Is Library)。我还重命名了这个项目以单独跟踪它 - com.mylib。

然后,我使用了原始应用程序 com.myapp 并删除了所有 .java 文件,除了一个带有一些数据的文件(没有实际代码)。我通过 Properties -> Android 将其链接起来,并在 mylib 库中添加的 Library 部分中。它显示为绿色检查。

按照 Google 的建议,将 myapp 的清单活动更改为所有以库为前缀的活动。

android:name="com.mylib.AppInfo"

清理了库和项目,并退出并重新启动了 Eclipse。编译正常,程序运行主要活动“AppInfo”,但尝试访问其他活动总是失败并出现 ClassNotFoundException。

我还在 myapp 清单中尝试了不同的名称前缀,例如:

android:name="com.myapp.AppInfo"
android:name=".AppInfo"

但是这些无法进入主应用程序。尽管库或 myapp 清单中没有更改活动类名称,但我已经逐个字符地检查了它们,以确保它们在大小写和精确字母方面都匹配。

在 Windows 7 x64 下使用 Eclipse,应用程序设置为 minSdk 为 11。还加载了最新的 SDK 工具(v20.0.3)。Proguard 也没有被使用(还),我正在使用实际的硬件(Android 4.0)。

我正在努力让图书馆工作。我有一个完全不同的库和应用程序对在另一个项目上以相同的方式工作,并且我已经比较了两个库和项目之间的每个属性和选项,并且找不到任何丢失或添加导致此失败的内容。

这是来自 LogCat 的完整错误:

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.myapp/com.myapp.LiveWallpaperSettings}: java.lang.ClassNotFoundException: com.myapp.LiveWallpaperSettings

有关如何追踪此问题的任何建议或想法?

4

0 回答 0