我使用了一个完全正常工作的应用程序并将其复制并使其成为一个库(属性 - > Android,Is Library)。我还重命名了这个项目,以便单独跟踪它 - com.mylib。
然后我拿了原始应用程序com.myapp并删除了所有.java文件,除了一个有一些数据(没有实际代码)的文件。我通过Properties - >链接了这个。 Android,以及在mylib库中添加的Library部分。它显示绿色检查。
将myapp的清单活动更改为所有人都将库作为Google推荐的前缀。
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)。
我拉着我的头发试图让图书馆工作。我有一个完全不同的库和应用程序对在另一个项目上以相同的方式工作,我比较了两个库和项目之间的每个属性和选项,并且找不到任何丢失或添加的导致失败的内容。 / p>
以下是LogCat的完整错误:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.myapp/com.myapp.LiveWallpaperSettings}: java.lang.ClassNotFoundException: com.myapp.LiveWallpaperSettings
有关如何跟踪此问题的任何建议或想法?