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

Android Studio运行报Unable to instantiate activity ComponentInfo问题求解

问题根因说明

报错的本质是运行时缺失ScaleDrone SDK的依赖类com.scaledrone.lib.RoomListener,MainActivity因为引用了该类,依赖加载失败触发连锁的MainActivity类加载失败,并非MainActivity本身的配置、代码存在问题。

排查步骤
  • 检查项目级build.gradle是否配置了正确的远程仓库地址,确保可以拉取到ScaleDrone依赖包
  • 检查Module级build.gradle的dependencies块,ScaleDrone依赖的声明是否使用了compileOnly配置,该配置只会在编译时引入依赖,不会打包到APK中,运行时就会缺失类
  • 检查是否对ScaleDrone依赖设置了exclude规则,意外排除了核心类所在的子依赖包
  • 检查是否开启了R8/ProGuard混淆,错误的混淆规则将ScaleDrone的核心类做了裁剪或重命名
  • 若minSdkVersion低于21且开启了多Dex,检查ScaleDrone类和MainActivity是否被正确分配到主Dex中,低版本系统只会加载主Dex内的类触发类加载失败
修复方案
  • 依赖配置修复:在Module级build.gradle的dependencies块中添加正确的依赖声明,必须使用implementation/api配置
dependencies {
    // 可替换为对应业务需要的ScaleDrone版本号
    implementation 'com.scaledrone:scaledrone-java:0.2.0'
}
  • 混淆规则修复:如果开启了代码混淆,在proguard-rules.pro中添加规则保留ScaleDrone的所有类和接口
-keep class com.scaledrone.lib.** { *; }
-keep interface com.scaledrone.lib.** { *; }
  • 多Dex适配修复:如果minSdkVersion < 21且启用了多Dex,在multiDexKeepProguard对应的规则文件中添加如下配置,保证相关类被打入主Dex
-keep class com.example.finalproject.MainActivity { *; }
-keep class com.scaledrone.lib.** { *; }
  • 修复完成后执行Build -> Clean Project,再执行Rebuild Project重新打包运行即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:15:03