我正在尝试处理这个 Android 源代码,它运行得很好,直到我将应用程序重构为不同的包名称。包资源管理器中没有显示任何错误,当我在 Debug模式下运行它时,这就是我在 logcat 中得到的结果:
09-04 21:57:07.544: INFO/ActivityManager(58): Starting activity: Intent { cmp=com.dalimited.zs/.Snake } 09-04 21:57:07.683: DEBUG/AndroidRuntime(387): Shutting down VM 09-04 21:57:07.683: WARN/dalvikvm(387): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): FATAL EXCEPTION: main 09-04 21:57:07.734: ERROR/AndroidRuntime(387): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.dalimited.zs/com.dalimited.zs.Snake}: android.view.InflateException: Binary XML file line #21: Error inflating class com.example.android.snake.SnakeView 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.os.Handler.dispatchMessage(Handler.java:99) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.os.Looper.loop(Looper.java:123) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.app.ActivityThread.main(ActivityThread.java:4627) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at java.lang.reflect.Method.invokeNative(Native Method) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at java.lang.reflect.Method.invoke(Method.java:521) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at dalvik.system.NativeStart.main(Native Method) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): Caused by: android.view.InflateException: Binary XML file line #21: Error inflating class com.example.android.snake.SnakeView 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.app.Activity.setContentView(Activity.java:1647) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at com.dalimited.zs.Snake.onCreate(Snake.java:50) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): ... 11 more 09-04 21:57:07.734: ERROR/AndroidRuntime(387): Caused by: java.lang.ClassNotFoundException: com.example.android.snake.SnakeView in loader dalvik.system.PathClassLoader[/data/app/com.dalimited.zs-1.apk] 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.view.LayoutInflater.createView(LayoutInflater.java:466) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565) 09-04 21:57:07.734: ERROR/AndroidRuntime(387): ... 20 more
我的问题是:这个 logcat 告诉我什么?我在代码中哪里可以找到我的问题?最后,是否有现成的信息可用于学习如何阅读 logcat?
最佳答案
Caused by: android.view.InflateException: Binary XML file line #21: Error inflating class com.example.android.snake.SnakeView
检查您的布局文件。您正在尝试创建您的 CustomView。你的 SnakeView 类扩展了 View 吗?
您可以引用此链接:http://www.anddev.org/creating_custom_views_-_the_togglebutton-t310.html
关于java - Android 应用程序因代码错误而崩溃,不理解 logcat 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7304229/