【问题标题】:Android: ClassNotFoundException while class is presentAndroid:类存在时出现 ClassNotFoundException
【发布时间】:2017-08-14 10:18:48
【问题描述】:
E/AndroidRuntime: FATAL EXCEPTION: main
 Process: be.kdg.examen, PID: 4451
 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{be.kdg.examen/be.kdg.examen.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "be.kdg.examen.MainActivity" on path: DexPathList[[zip file "/data/app/be.kdg.examen-1/base.apk"],nativeLibraryDirectories=[/data/app/be.kdg.examen-1/lib/x86, /system/lib, /vendor/lib]]
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2567)
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
     at android.app.ActivityThread.-wrap12(ActivityThread.java)
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
     at android.os.Handler.dispatchMessage(Handler.java:102)
     at android.os.Looper.loop(Looper.java:154)
     at android.app.ActivityThread.main(ActivityThread.java:6119)
     at java.lang.reflect.Method.invoke(Native Method)
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
  Caused by: java.lang.ClassNotFoundException: Didn't find class "be.kdg.examen.MainActivity" on path: DexPathList[[zip file "/data/app/be.kdg.examen-1/base.apk"],nativeLibraryDirectories=[/data/app/be.kdg.examen-1/lib/x86, /system/lib, /vendor/lib]]
     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
     at android.app.Instrumentation.newActivity(Instrumentation.java:1078)
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2557)
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
     at android.app.ActivityThread.-wrap12(ActivityThread.java) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:154) 
     at android.app.ActivityThread.main(ActivityThread.java:6119) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 

我在尝试运行应用程序时总是收到此错误。有一个 MainActivity 所以我真的不知道问题是什么。

【问题讨论】:

    标签: android


    【解决方案1】:

    您必须在您的应用程序中包含 multiDex。这可以从 logcat 输出的以下行推断出来:

    java.lang.ClassNotFoundException: Didn't find class "be.kdg.examen.MainActivity" on path: DexPathList[
    

    什么是 multiDex,该解决方案如何解决问题?

    阅读this answer了解。


    解决方案

    第 1 步:将此添加到您的依赖项中。

     implementation 'com.android.support:multidex:1.0.1'
    

    第 2 步: 在您的 Gradle 中添加 multiDexEnabled true

    android {
        defaultConfig {
            ...
            minSdkVersion 21 
            targetSdkVersion 26
            multiDexEnabled true    // add this line
        }
        ...
    }
    

    第 3 步:在您的清单中添加 multiDex 应用程序类。

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.myapp">
        <application
                android:name="android.support.multidex.MultiDexApplication" >
            ...
        </application>
    </manifest>
    

    希望对你有帮助:)

    【讨论】:

      【解决方案2】:

      这似乎是 multidex 支持的问题。请看下面的帖子

      FATAL EXCEPTION: main java.lang.NoClassDefFoundError: rx.plugins.RxJavaHooks

      【讨论】:

        【解决方案3】:

        它正在寻找 be.kdg.examen.MainActivity 包中的类,而您的 MainActivity 在 be.kdg.examen.vraag5.MainActivity

        请检查您的AndroidManifest.xml 文件中提到的完整路径是什么,如果它被提及为.MainActivity,请将其更改为.vraag5.MainActivity

        【讨论】:

          猜你喜欢
          • 2021-12-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-09-08
          • 1970-01-01
          • 1970-01-01
          • 2015-05-13
          • 1970-01-01
          相关资源
          最近更新 更多