You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio启动报错ClassNotFoundException,请求技术协助

解决ClassNotFoundException导致无法启动Activity的问题

报错信息

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.aromproject6, PID: 13385
    java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.aromproject6/com.example.aromproject6.StartActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.aromproject6.StartActivity" on path: DexPathList[[zip file "/data/app/~~gSEQsY1NRFD7fu96ddB6lA==/com.example.aromproject6--sMR1Ru1-lfEOAG_4i260A==/base.apk"],nativeLibraryDirectories=[/data/app/~~gSEQsY1NRFD7fu96ddB6lA==/com.example.aromproject6--sMR1Ru1-lfEOAG_4i260A==/lib/x86_64, /system/lib64, /system_ext/lib64]]
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3613)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3864)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2253)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7870)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.aromproject6.StartActivity" on path: DexPathList[[zip file "/data/app/~~gSEQsY1NRFD7fu96ddB6lA==/com.example.aromproject6--sMR1Ru1-lfEOAG_4i260A==/base.apk"],nativeLibraryDirectories=[/data/app/~~gSEQsY1NRFD7fu96ddB6lA==/com.example.aromproject6--sMR1Ru1-lfEOAG_4i260A==/lib/x86_64, /system/lib64, /system_ext/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)
        at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:45)
        at android.app.Instrumentation.newActivity(Instrumentation.java:1285)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3600)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3864) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2253) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loopOnce(Looper.java:201) 
        at android.os.Looper.loop(Looper.java:288) 
        at android.app.ActivityThread.main(ActivityThread.java:7870) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) 

排查与解决步骤

  • 检查Manifest配置
    打开AndroidManifest.xml,确认StartActivity的<activity>标签中android:name属性值为com.example.aromproject6.StartActivity,拼写、大小写完全匹配;同时确保该Activity包含启动入口的intent-filter:

    <activity android:name=".StartActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    
  • 验证Activity类的包路径
    找到StartActivity的源码文件,检查顶部的包声明是否为package com.example.aromproject6;,确认文件没有被误放在其他包目录下,文件名也没有拼写错误。

  • 启用MultiDex支持
    如果项目方法数超过65536,需开启MultiDex:

    1. 在模块级build.gradle中添加配置:
      android {
          defaultConfig {
              multiDexEnabled true
          }
      }
      dependencies {
          implementation 'androidx.multidex:multidex:2.0.1'
      }
      
    2. 自定义Application类继承MultiDexApplication,或者在现有Application类的attachBaseContext方法中添加:
      @Override
      protected void attachBaseContext(Context base) {
          super.attachBaseContext(base);
          MultiDex.install(this);
      }
      
  • 深度清理与重建项目

    • 执行File > Invalidate Caches... > Invalidate and Restart重启Android Studio;
    • 手动删除项目根目录的.gradle、build文件夹,以及app模块下的build文件夹,然后执行Build > Rebuild Project。
  • 检查构建变体与混淆规则

    • 确认当前选择的Build Variant是正确的,没有误选不包含该Activity的变体;
    • 如果是调试模式,检查是否意外开启了混淆;如果是发布模式,确认ProGuard规则没有误移除StartActivity,可添加规则:
      -keep class com.example.aromproject6.StartActivity { *; }
      

内容的提问来源于stack exchange,提问作者조성혁

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 10:08:10