“无法实例化活动”错误

2024-05-17

我的一个 Android 应用程序拥有大约 100,000 个用户,每周大约 10 次,我会通过 Google 的市场工具向我报告以下异常情况:

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.rebm.asp/org.rebm.asp.MainActivity}:
  java.lang.ClassNotFoundException: org.rebm.asp.MainActivity in loader dalvik.system.PathClassLoader[/mnt/asec/org.rebm.asp-1/pkg.apk]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2659)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2753)
at android.app.ActivityThread.access$2500(ActivityThread.java:129)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2107)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:4701)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: org.rebm.asp.MainActivity in loader dalvik.system.PathClassLoader[/mnt/asec/org.rebm.asp-1/pkg.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2651)
... 11 more

从网上搜索,这个错误通常表明清单文件和使用的包名称有问题。但是,我无法在我自己的设备或模拟器上重现此错误。我只是通过市场工具知道这个错误。我所能得出的结论是,这是一个罕见的错误,因为我知道很多人都在使用该应用程序,并且没有评论表明它崩溃了。

有谁知道问题可能是什么或者我如何诊断它?


您在问题中给出的堆栈跟踪包含问题是由于将应用程序移动到 SD 卡造成的证据:

java.lang.RuntimeException:无法 实例化活动 组件信息{org.rebm.asp/org.rebm.asp.MainActivity}: java.lang.ClassNotFoundException: 加载器中的 org.rebm.asp.MainActivity dalvik.system.PathClassLoader[/mnt/asec/org.rebm.asp-1/pkg.apk]

如您所见,您的应用程序的路径包含/mnt/asec这是 Android 安全应用程序挂载点。

为了验证此问题是否由 Apps2SD 导致,您应该检查所有堆栈跟踪是否包含/mnt/asec应用程序路径中的目录。如果都是这样,就可以确定是Apps2SD错误。

正如其他人所说,此类问题有时是由于加载应用程序时 SD 卡不可用或损坏造成的asecSD 卡上的分区。

您的应用程序是否以任何方式注册自身以在启动时启动,或者它是某种小部件,即使尚未安装 SD 卡,系统也会尝试加载?如果是这样,也许您应该关闭将应用程序移至 SD 卡的选项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“无法实例化活动”错误 的相关文章

随机推荐