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

Android Studio启动报错:无法实例化Activity(ClassNotFoundException)

问题描述

我是Android Studio新手,启动代码时控制台出现如下错误:

FATAL EXCEPTION: main
 Process: com.Test.testApp, PID: 28325
    java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.Test.testApp/com.Test.testApp.HomeActivity}: java.lang.ClassNotFoundException: Didn't find class "com.Test.testApp.HomeActivity" on path: DexPathList[[zip file "/data/app/com.Test.testApp-nouq7sbVCrcRJQxd835Nvw==/base.apk"],nativeLibraryDirectories=[/data/app/com.Test.testApp-nouq7sbVCrcRJQxd835Nvw==/lib/arm64, /system/lib64, /hw_product/lib64, /system/product/lib64]]
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3978)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4247)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:91)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2613)
    at android.os.Handler.dispatchMessage(Handler.java:110)
    at android.os.Looper.loop(Looper.java:219)
    at android.app.ActivityThread.main(ActivityThread.java:8668)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.Test.testApp.HomeActivity" on path: DexPathList[[zip file "/data/app/com.Test.testApp-nouq7sbVCrcRJQxd835Nvw==/base.apk"],nativeLibraryDirectories=[/data/app/com.Test.testApp-nouq7sbVCrcRJQxd835Nvw==/lib/arm64, /system/lib64, /hw_product/lib64, /system/product/lib64]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:209)
    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:1264)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3963)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4247)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:91)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2613)
    at android.os.Handler.dispatchMessage(Handler.java:110)
    at android.os.Looper.loop(Looper.java:219)
    at android.app.ActivityThread.main(ActivityThread.java:8668)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)

我的AndroidManifest.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.Test.testApp">

    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.TestTest"
        tools:targetApi="31">
            <activity
                android:name=".HomeActivity"
                android:exported="true">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    </application>
</manifest>

我的HomeActivity.kt代码如下:

package com.Test.testApp

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity

class HomeActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_home)
    }
}

请问该如何解决此问题?


解决方案
  • 检查文件路径与包名一致性
    确认HomeActivity.kt文件是否放在app/src/main/java/com/Test/testApp/目录下,包名com.Test.testApp必须和目录结构完全匹配(Android对包名大小写敏感,注意Test和testApp的大小写是否一致)。

  • 清理并重建项目

    1. 点击Android Studio顶部菜单栏的Build -> Clean Project
    2. 完成后点击Build -> Rebuild Project
  • 验证Kotlin插件配置
    确保项目已正确配置Kotlin支持:

    • 项目根目录的build.gradle(Project级)需包含Kotlin插件依赖:
      plugins {
          id 'com.android.application' version '7.4.2' apply false
          id 'org.jetbrains.kotlin.android' version '1.8.20' apply false
      }
      
    • app模块的build.gradle需应用Kotlin插件:
      plugins {
          id 'com.android.application'
          id 'org.jetbrains.kotlin.android'
      }
      
  • 检查多Dex配置(若启用)
    如果项目开启了多Dex,需确认配置完整:

    • 在app模块的build.gradle中添加:
      android {
          defaultConfig {
              multiDexEnabled true
          }
      }
      dependencies {
          implementation 'androidx.multidex:multidex:2.0.1'
      }
      
    • 自定义Application类需继承MultiDexApplication,或者在attachBaseContext方法中初始化:
      override fun attachBaseContext(base: Context?) {
          super.attachBaseContext(base)
          MultiDex.install(this)
      }
      
  • 排查混淆规则
    如果开启了代码混淆,确认proguard-rules.pro中没有误过滤HomeActivity,添加规则:

    -keep class com.Test.testApp.HomeActivity { *; }
    
  • 重启IDE与设备
    有时候缓存问题会导致类加载异常,重启Android Studio和模拟器/真机后重新运行项目。


内容的提问来源于stack exchange,提问作者Adam Respeliers

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 00:39:51