我在使用 Android 应用时遇到问题。这是错误消息:
06-29 16:07:28.263: E/AndroidRuntime(196): Uncaught handler: thread main exiting due to uncaught exception
06-29 16:07:28.463: E/AndroidRuntime(196): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.androidcalc/com.calc.AndroidCalc}: java.lang.ClassNotFoundException: com.calc.AndroidCalc in loader dalvik.system.PathClassLoader@44c067c8
06-29 16:07:28.463: E/AndroidRuntime(196): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
06-29 16:07:28.463: E/AndroidRuntime(196): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
06-29 16:07:28.463: E/AndroidRuntime(196): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
06-29 16:07:28.463: E/AndroidRuntime(196): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
06-29 16:07:28.463: E/AndroidRuntime(196): at android.os.Handler.dispatchMessage(Handler.java:99)
06-29 16:07:28.463: E/AndroidRuntime(196): at android.os.Looper.loop(Looper.java:123)
06-29 16:07:28.463: E/AndroidRuntime(196): at android.app.ActivityThread.main(ActivityThread.java:4363)
06-29 16:07:28.463: E/AndroidRuntime(196): at java.lang.reflect.Method.invokeNative(Native Method)
06-29 16:07:28.463: E/AndroidRuntime(196): at java.lang.reflect.Method.invoke(Method.java:521)
06-29 16:07:28.463: E/AndroidRuntime(196): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
06-29 16:07:28.463: E/AndroidRuntime(196): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
06-29 16:07:28.463: E/AndroidRuntime(196): at dalvik.system.NativeStart.main(Native Method)
06-29 16:07:28.463: E/AndroidRuntime(196): Caused by: java.lang.ClassNotFoundException: com.calc.AndroidCalc in loader dalvik.system.PathClassLoader@44c067c8
06-29 16:07:28.463: E/AndroidRuntime(196): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
06-29 16:07:28.463: E/AndroidRuntime(196): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
06-29 16:07:28.463: E/AndroidRuntime(196): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
06-29 16:07:28.463: E/AndroidRuntime(196): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
06-29 16:07:28.463: E/AndroidRuntime(196): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409)
06-29 16:07:28.463: E/AndroidRuntime(196): ... 11 more
我已经检查了谷歌以获得一些帮助,并在 SO 上找到了一些关于此的其他线程,但这些似乎都不符合我的情况。这是发生的事情:
我有一个大约一年前开始编写的应用程序。有一段时间,尽管它不完整,但我还是搁置了它,因为我还有其他事情要做。在闲置了大约 6 个月后,我今天才回到它尝试为平板电脑实现 UI(目前平板电脑 UI 是从超级丑陋的小屏幕 UI 借用的)。这是我所做的:
1) 我创建了一个 layout-large 文件夹来存储新的 UI 元素,我在 UI 元素中从较小的布局文件夹中按 CTRL-C CTRL-V'd 作为使用的基础。
2) 我意识到我的平板电脑实际上被分类为特大号,所以我重复了第 1 步,除了 layout-xlarge。
3)我在layout-xlarge中修改了一些UI修饰(仅文本大小和元素大小,没有触及任何代码)。
4) 我注意到我没有安装模拟我的平板电脑所需的 SDK(我只有 4.0.3 并且需要 4.1.2),所以我通过 SDK 管理器更新了我的 SDK。
5) 更新 SDK 后,我创建了 Tablet VM。
6) 有人告诉我 Eclipse 需要更新很多东西,所以我这样做了。
7) 更新 Eclipse 后,有人告诉我需要返回 SDK 管理器并更新一些东西(特别是称为 Build-tools 的东西),所以我这样做了。
8) 我在我的平板电脑虚拟机上运行程序并得到上述错误。
9)我在我的手机虚拟机上运行程序(在以前的版本下工作)并得到了上述错误。
不知何故,在执行上述步骤时,我没有触及任何一行代码或添加任何新的 Activity 元素(额外的 UI 除外),我设法让我的应用程序无法运行。我已经尝试过以下事情:
1) 我检查了我的 Android 清单。其中唯一的东西是应该存在的单个唯一 Activity 应用程序。
2)我已经完成了项目清理。
3)我读过的前一篇文章建议我删除“bin”和“gen”目录并重建它们。我这样做了。
这三件事都没有奏效。有没有人有任何进一步的建议?谢谢。