在运行 Android 模拟器时强制关闭应用程序错误

Posted

技术标签:

【中文标题】在运行 Android 模拟器时强制关闭应用程序错误【英文标题】:Force Close of app Error on running Android Emulator 【发布时间】:2013-10-17 17:41:44 【问题描述】:

这是我使用https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/ 的官方教程学习的第一个 Android 应用程序和 https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/ 我已经逐步按照 app_id、哈希键、引用库中包含的教程进行操作,但是一旦在模拟器上启动应用程序,就会出现强制关闭应用程序的错误。 我的logcat如下

    10-16 20:48:13.169: D/AndroidRuntime(639): Shutting down VM
10-16 20:48:13.169: W/dalvikvm(639): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
10-16 20:48:13.229: E/AndroidRuntime(639): FATAL EXCEPTION: main
10-16 20:48:13.229: E/AndroidRuntime(639): java.lang.RuntimeException: Unable to instantiate application com.facebook.myagent.MyAgent: java.lang.ClassNotFoundException: com.facebook.myagent.MyAgent in loader dalvik.system.PathClassLoader[/data/app/com.facebook.myagent-2.apk]
10-16 20:48:13.229: E/AndroidRuntime(639):  at android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:649)
10-16 20:48:13.229: E/AndroidRuntime(639):  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4232)
10-16 20:48:13.229: E/AndroidRuntime(639):  at android.app.ActivityThread.access$3000(ActivityThread.java:125)
10-16 20:48:13.229: E/AndroidRuntime(639):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2071)
10-16 20:48:13.229: E/AndroidRuntime(639):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-16 20:48:13.229: E/AndroidRuntime(639):  at android.os.Looper.loop(Looper.java:123)
10-16 20:48:13.229: E/AndroidRuntime(639):  at android.app.ActivityThread.main(ActivityThread.java:4627)
10-16 20:48:13.229: E/AndroidRuntime(639):  at java.lang.reflect.Method.invokeNative(Native Method)
10-16 20:48:13.229: E/AndroidRuntime(639):  at java.lang.reflect.Method.invoke(Method.java:521)
10-16 20:48:13.229: E/AndroidRuntime(639):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-16 20:48:13.229: E/AndroidRuntime(639):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-16 20:48:13.229: E/AndroidRuntime(639):  at dalvik.system.NativeStart.main(Native Method)
10-16 20:48:13.229: E/AndroidRuntime(639): Caused by: java.lang.ClassNotFoundException: com.facebook.myagent.MyAgent in loader dalvik.system.PathClassLoader[/data/app/com.facebook.myagent-2.apk]
10-16 20:48:13.229: E/AndroidRuntime(639):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
10-16 20:48:13.229: E/AndroidRuntime(639):  at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
10-16 20:48:13.229: E/AndroidRuntime(639):  at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
10-16 20:48:13.229: E/AndroidRuntime(639):  at android.app.Instrumentation.newApplication(Instrumentation.java:942)
10-16 20:48:13.229: E/AndroidRuntime(639):  at android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:644)
10-16 20:48:13.229: E/AndroidRuntime(639):  ... 11 more
10-16 20:48:15.449: I/Process(639): Sending signal. PID: 639 SIG: 9

【问题讨论】:

你在你的android项目中引用了facebook sdk库吗? 是的,我确实按照教程参考了 facebookk sdk 它的路径是MyAgent>>Properties>>Android>>Reference>>Facebook SDK 【参考方案1】:

你有一个粗俗的例外。 问题是一个线程无法处理来自 Facebook 的 UI 和后台操作。 要么添加另一个只执行 web/Facebook 内容的线程。 或使用 AsyncTask,这是在这种情况下的最佳做法。 查看教程:http://www.youtube.com/watch?v=JVaGZwuYmck

【讨论】:

在这种情况下 op 会得到NetworkOnMainThreadException。我在堆栈跟踪中没有看到。您的帖子没有回答问题

以上是关于在运行 Android 模拟器时强制关闭应用程序错误的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio Adb 连接报错:一个现有连接被远程主机强行关闭

为啥我的应用程序强制关闭?

android“强制关闭”内存到底发生了啥

在横向模式下强制运行android模拟器

使用适用于 Android 的 Facebook Unity SDK 登录 facebook 时应用程序强制关闭

音频android确实强制关闭应用程序