相关疑难解决方法(0)

java.lang.ClassNotFoundException:dalvik.system.BaseDexClassLoader.findClass

我在Google Play开发者控制台中不断收到此错误报告.它看起来像MultiDex错误.

java.lang.RuntimeException: 
  at android.app.LoadedApk.makeApplication(LoadedApk.java:516)
  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4514)
  at android.app.ActivityThread.access$1500(ActivityThread.java:151)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381)
  at android.os.Handler.dispatchMessage(Handler.java:110)
  at android.os.Looper.loop(Looper.java:193)
  at android.app.ActivityThread.main(ActivityThread.java:5299)
  at java.lang.reflect.Method.invokeNative(Native Method:0)
  at java.lang.reflect.Method.invoke(Method.java:515)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
  at dalvik.system.NativeStart.main(Native Method:0)

Caused by: java.lang.ClassNotFoundException: 
  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
  at android.app.Instrumentation.newApplication(Instrumentation.java:975)
  at android.app.LoadedApk.makeApplication(LoadedApk.java:511)
Run Code Online (Sandbox Code Playgroud)

我已经将它添加到gradle.build:

defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...

// Enabling multidex support.
multiDexEnabled true
}

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

 @Override
    protected void attachBaseContext(Context newBase) {
        super.attachBaseContext(newBase);
        try {
            MultiDex.install(this);
        }catch (RuntimeException e){
            e.printStackTrace();
        }catch (Exception e){ …
Run Code Online (Sandbox Code Playgroud)

java android classnotfoundexception android-multidex

15
推荐指数
1
解决办法
2845
查看次数

dalvik.system.BaseDexClassLoader.findClass中的java.lang.ClassNotFoundException

这个错误让我发疯.从Google Play商店下载时,我的应用在启动时崩溃并出现以下错误:

java.lang.ClassNotFoundException
in dalvik.system.BaseDexClassLoader.findClass
Run Code Online (Sandbox Code Playgroud)

在我们的两个设备上使用eclipse构建时,我的应用程序不会崩溃.然而一个月前,一个客户使用他的手机构建我们的应用程序,然后它也在启动时崩溃.我忽略了这个问题,因为它正在我们的设备上工作,并认为它与谷歌地图键或密钥库有关.

现在,当从Play商店下载时,我们的应用程序崩溃了.我知道没有一种简单的方法可以解决这个问题,但是我们会理解正确的方向.

我也发现很难调试这个问题,因为在我们的设备上使用eclipse构建应用程序时效果很好!

这是我报告的完整错误日志:

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.denederlandsewateren.winkeloord/com.denederlandsewateren.views.StartScreenActivity}: java.lang.ClassNotFoundException: com.denederlandsewateren.views.StartScreenActivity
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2099)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2210)
at android.app.ActivityThread.access$600(ActivityThread.java:142)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1208)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4931)
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:791)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.denederlandsewateren.views.StartScreenActivity
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.newActivity(Instrumentation.java:1053)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2090)
... 11 more
Run Code Online (Sandbox Code Playgroud)

再说一遍,除了对这个问题的直接回答,但也许有人可以对这个错误日志提供的问题有所了解.

编辑

如果有帮助,这是清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.xxxx.xxxxx"
    android:versionCode="1"
    android:versionName="1.0" >

    <permission
        android:name="com.xxxxx.xxxxx.MAPS_RECEIVE"
        android:protectionLevel="signature" />
    <permission
        android:name="com.xxxxx.xxxxx.permission.C2D_MESSAGE"
        android:protectionLevel="signature" /> …
Run Code Online (Sandbox Code Playgroud)

java android crash-reports dalvik google-play-services

7
推荐指数
1
解决办法
1万
查看次数

dalvik.system.BaseDexClassLoader的ClassNotFoundException

对此进行了一些研究,发现了一些有关在应用程序中面临相同问题的人员的帖子。我也在我的应用程序的Google控制台中面临崩溃,并遵循了我发现的帖子(java.lang.ClassNotFoundException dalvik.system.BaseDexClassLoader.findClass)和类似的帖子。所有这些建议建议遵循链接https://developer.android.com/studio/build/multidex.html上提到的步骤。

遵循页面上提到的所有解决方法,但仍然遇到相同的问题。我的应用程序的MinSdkVersion为15,因此添加了所有解决方法来消除此问题,但到目前为止还没有运气。

正如我在文档中提到的,我可以选择将sdk的最低版本更改为21,但这会影响我很多时间。*

我仅在Android 5.1和更低版本上遇到此问题。

java.lang.RuntimeException: 
  at android.app.LoadedApk.makeApplication (LoadedApk.java:563)
  at android.app.ActivityThread.handleBindApplication   (ActivityThread.java:4540)
  at android.app.ActivityThread.access$1500 (ActivityThread.java:151)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1371)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:135)
  at android.app.ActivityThread.main (ActivityThread.java:5268)
  at java.lang.reflect.Method.invoke (Method.java)
  at java.lang.reflect.Method.invoke (Method.java:372)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:902)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:697)
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.Instrumentation.newApplication (Instrumentation.java:980)
  at android.app.LoadedApk.makeApplication (LoadedApk.java:558)
Run Code Online (Sandbox Code Playgroud)

dalvik android-multidex android-5.1.1-lollipop

5
推荐指数
1
解决办法
1756
查看次数