Android Wear样例代码异常

3

我在 Nexus 4 上构建示例代码并安装后,使用 Eclipse 导入 AndroidWearPreview 的 WearableNotificationsSample 和 ElizaChat 示例代码时遇到了失败。为什么会这样?

03-20 14:34:34.418: E/AndroidRuntime(9989): Process: com.example.android.preview.support.wearable.notifications, PID: 9989
03-20 14:34:34.418: E/AndroidRuntime(9989): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.android.preview.support.wearable.notifications/com.example.android.preview.support.wearable.notifications.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.android.preview.support.wearable.notifications.MainActivity" on path: DexPathList[[zip file "/data/app/com.example.android.preview.support.wearable.notifications-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.android.preview.support.wearable.notifications-2, /vendor/lib, /system/lib]]
03-20 14:34:34.418: E/AndroidRuntime(9989):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
03-20 14:34:34.418: E/AndroidRuntime(9989):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
03-20 14:34:34.418: E/AndroidRuntime(9989):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
03-20 14:34:34.418: E/AndroidRuntime(9989):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
03-20 14:34:34.418: E/AndroidRuntime(9989):     at android.os.Handler.dispatchMessage(Handler.java:102)
03-20 14:34:34.418: E/AndroidRuntime(9989):     at android.os.Looper.loop(Looper.java:136)
03-20 14:34:34.418: E/AndroidRuntime(9989):     at android.app.ActivityThread.main(ActivityThread.java:5017)
03-20 14:34:34.418: E/AndroidRuntime(9989):     at java.lang.reflect.Method.invokeNative(Native Method)
03-20 14:34:34.418: E/AndroidRuntime(9989):     at java.lang.reflect.Method.invoke(Method.java:515)
03-20 14:34:34.418: E/AndroidRuntime(9989):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
03-20 14:34:34.418: E/AndroidRuntime(9989):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
03-20 14:34:34.418: E/AndroidRuntime(9989):     at dalvik.system.NativeStart.main(Native Method)
03-20 14:34:34.418: E/AndroidRuntime(9989): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.android.preview.support.wearable.notifications.MainActivity" on path: DexPathList[[zip file "/data/app/com.example.android.preview.support.wearable.notifications-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.android.preview.support.wearable.notifications-2, /vendor/lib, /system/lib]]
03-20 14:34:34.418: E/AndroidRuntime(9989):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
03-20 14:34:34.418: E/AndroidRuntime(9989):     at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
03-20 14:34:34.418: E/AndroidRuntime(9989):     at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
03-20 14:34:34.418: E/AndroidRuntime(9989):     at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
03-20 14:34:34.418: E/AndroidRuntime(9989):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)

请提供更多信息。哪个示例代码?您使用的是哪个IDE?项目中有任何库或jar吗?根据日志,您得到了 java.lang.RuntimeException,因为找不到 com.example.android.preview.support.wearable.notifications.MainActivity Activity类而导致java.lang.ClassNotFoundException异常。 - Aduait Pokhriyal
4个回答

6
我注意到源代码在java文件夹中。要在eclipse上运行,请右键单击java文件夹并选择构建路径->使用作为源文件夹
当然,还需要添加支持和android可穿戴预览库。

1

(抱歉,声望不足,无法发布评论)

我遇到了同样的问题。我正在使用Eclipse并执行了建议的操作:

在您的Android应用项目中,在项目根目录(与AndroidManifest.xml文件相同的位置)中创建一个libs/目录。 将v4支持库JAR文件从Android SDK目录(例如/extras/android/support/v4/android-support-v4.jar)复制到项目的libs/目录中。 还要将wearable-preview-support.jar文件保存在libs/目录中。 右键单击每个JAR文件,然后选择Build Path> Add to Build Path。

安装了Android Studio并导入它,它立即起作用...


谢谢,RoadXY! 如果你直接导入示例代码,原本没有这两个jar文件:android-support-v4.jar和wearable-preview-support.jar。 在我添加了libs/android-support-v4.jar 和 libs/wearable-preview-support.jar之后,并右键单击每个JAR文件并选择Build Path > Add to Build Path,可穿戴通知示例APP仍然会崩溃并出现相同的异常。 - freeman999

0

我曾经遇到过同样的问题。我将我的项目与另一个正常工作的Eclipse中加载的相同项目进行了比较。 在正常工作的项目中,“android-support-v4.jar”文件既包含在“引用库”文件夹中,也包含在“Android私有库”文件夹中。而在失败的项目中,该文件仅出现在“引用库”下。 因此,在某些Eclipse实例中,“构建路径>添加到构建路径”不起作用,但我无法使其起作用:-(


0
在根目录下创建“libs”文件夹,然后复制“android-support-v4.jar”和“wearable-preview-support.jar”。然后右键单击每个jar文件,选择“Build Path->Add Build Path”。 从项目中右键单击“Java”文件夹,选择“Build Path->Use as Source Folder”。 最后进行构建。我希望这可以解决问题。

欢迎来到Stackoverflow。请根据指南编辑您的答案以使其格式更加清晰易读。目前,您的答案中的代码部分无法阅读,只是以普通文本形式编写。同时,请尽可能提供详细信息以使您的答案更有帮助。 - Neeku

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接