无法识别java.lang.ClassNotFoundException BaseDexClassLoader的源代码

San*_*eep 15 java android

正如我在开发者控制台中看到的那样,我在用户的Android应用程序中收到了很多崩溃报告.我看到的堆栈跟踪是:

java.lang.RuntimeException:

  at android.app.ActivityThread.handleReceiver (ActivityThread.java:2884)

  at android.app.ActivityThread.-wrap14 (ActivityThread.java)

  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1565)

  at android.os.Handler.dispatchMessage (Handler.java:111)

  at android.os.Looper.loop (Looper.java:207)

  at android.app.ActivityThread.main (ActivityThread.java:5728)

  at java.lang.reflect.Method.invoke (Native Method)

  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:789)

  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:679)
Caused by: java.lang.ClassNotFoundException:
at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass (ClassLoader.java:511)
at java.lang.ClassLoader.loadClass (ClassLoader.java:469)
at android.app.ActivityThread.handleReceiver (ActivityThread.java:2879)
Run Code Online (Sandbox Code Playgroud)

没有引用我的应用程序包名称.我正在使用Eclipse进行开发.它是与multidex相关的东西吗?我是否需要切换到Android Studio才能解决此问题.我无法理解堆栈跟踪背后的基本原因,以便我可以为它寻找解决方案.

注意:我有谷歌播放服务,IAP和OneSignal Sdk添加到我的应用程序

Int*_*iya 13

我个人会说Android Studio比两者更具优势.Android工作室在Android开发社区和开源社区中日益受到欢迎.Android Studio还是Eclipse?

阅读迁移到Android Studio.

将项目迁移到Android Studio需要适应新的项目结构,构建系统和IDE功能.如果您要从Eclipse迁移Android项目,Android Studio会提供导入工具,以便您可以快速将现有代码移动到Android Studio项目和基于Gradle的构建文件中.

Logcat引发

Caused by: java.lang.ClassNotFoundException:
at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56)
Run Code Online (Sandbox Code Playgroud)

BaseDexClassLoader各种dex-based ClassLoader实现之间通用功能的基类.

要将您的应用项目配置为使用MultiDex配置,您必须进行以下修改,具体取决于您的应用支持的最低Android版本.

设置multiDexEnabled true为您的文件,如下所示:build.gradle module-level

    android {
    compileSdkVersion //
    buildToolsVersion //

    defaultConfig {
        ...
        minSdkVersion 14
        targetSdkVersion //
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

dependencies {
  compile 'com.android.support:multidex:1.0.1' 
}
Run Code Online (Sandbox Code Playgroud)

您可以检查DexIndexOverflowException.

  • 今天会尝试这个,让你知道它是怎么回事 (2认同)