【问题标题】:Rare Android Unable to Instantiate Application Exception罕见的 Android 无法实例化应用程序异常
【发布时间】:2015-03-10 15:06:52
【问题描述】:

我不时在开发控制台的崩溃下看到以下异常。

令人费解的是,谷歌地图显示在调用堆栈中,就好像它在调用或创建我的应用程序类 - 非常令人困惑。更奇怪的是调用堆栈中的“MyApp-2.apk” - 它附加了“-2”。

我确实在库中包含了 android.maps.jar 文件。

我想知道如果可能的话如何重新创建它以及如何防止这种情况发生?

    java.lang.RuntimeException: Unable to instantiate application com.MyApp.MyCustomApp: 
java.lang.ClassNotFoundException: Didn't find class "com.MyApp.MyCustomApp" 
on path: /system/framework/com.google.android.maps.jar:/data/app/com.MyApp-2.apk
    at android.app.LoadedApk.makeApplication(LoadedApk.java:503)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4405)
    at android.app.ActivityThread.access$1400(ActivityThread.java:141)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1327)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:5059)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
    at dalvik.system.NativeStart.main(Native Method)
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.MyApp.MyCustomApp" on path: /system/framework/com.google.android.maps.jar:/data/app/com.MyApp-2.apk
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
    at android.app.Instrumentation.newApplication(Instrumentation.java:967)
    at android.app.LoadedApk.makeApplication(LoadedApk.java:498)
    ... 11 more

清单应用程序标签:

 <application
        android:name=".MyApp"
        android:hardwareAccelerated="true"
        android:icon="@drawable/app_icon"
        android:label="@string/app_name"
        android:theme="@style/AppBaseTheme" >

我正在使用这些 JARS:android-support-v4-r2-googlemaps.jar + android-support-v4.jar

【问题讨论】:

  • 您可以发布清单的应用程序标签吗?对有人帮助你会有帮助。还有你的 ADT 版本,以防你使用 eclipse :)
  • 您好,我会添加应用标签。我也没有使用 eclipse,使用的是 Android Studio。
  • 正如你所说,“在开发控制台中崩溃”,你是否找到任何特定的 api 级别或设备?
  • 我在 Android 4.1 上有 3 个实例,在 4.4 上有 1 个。三星 S3、HTC One 和 Droid Razr 是设备。
  • @AlexVPerl 你有这门课吗? “com.nyctr​​ans.it.nycTransitApp”

标签: android exception instantiation


【解决方案1】:

您的应用程序中的类会出现在您的测试设备上但在运行时在其他一些设备上缺失的主要原因是您的类依赖于这些设备上缺少的某些外部功能。例如,如果您使用了一些不属于 AOSP 的 Google API,因此在普通 AOSP 构建中丢失,或者没有许可这些的供应商构建,那么您的类将在安装时被修剪,因为它的依赖关系无法解决。

您的应用进入这种情况的一个常见原因可能是有人在他们的设备上运行不一致组装的“自定义 ROM”。

【讨论】:

  • 谢谢,这是有道理的。我确实在我的应用程序中使用了 Google MapView - 但我没有做任何不寻常的事情,只是地图标记和折线。我包括这些 JARS:android-support-v4-r2-googlemaps.jar + android-support-v4.jar
猜你喜欢
  • 1970-01-01
  • 2011-08-17
  • 2020-08-29
  • 2016-03-02
  • 2012-05-05
  • 2014-03-30
  • 1970-01-01
  • 1970-01-01
  • 2021-12-29
相关资源
最近更新 更多