Android Studio无法在物理设备安装App,提示找不到MainActivity如何解决?
问题排查与解决步骤
- 先清理目标设备的同包名应用残留:很多时候同一包名的App之前卸载不完全,尤其是搭载多用户/工作 profile的机型,系统会保留历史配置导致组件识别异常。执行adb命令
adb uninstall <你的应用包名>,就算桌面看不到App图标也执行一遍该命令,可彻底清理同包名的残余数据。 - 核对目标设备的Android版本与应用兼容配置:确认build.gradle中的
minSdkVersion是否小于等于目标设备的系统版本,若MainActivity中使用了高于目标设备版本的SDK特性/组件,低版本系统会无法识别该Activity。 - 校验AndroidManifest中MainActivity的声明配置:
确认MainActivity的intent-filter配置完全正确,必须包含以下action和category:
<activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>如果你采用App Bundle方式打包,需确认MainActivity所在的模块被纳入首包下发配置。
- 关闭目标设备的ADB安装校验类安全设置:部分国产定制系统会拦截未上架应用的安装,篡改应用组件注册信息,导致启动时找不到MainActivity,可在开发者选项中关闭USB安装校验,或在系统安全设置中允许安装来自Android Studio的未知来源应用。
- 清理Android Studio构建缓存:依次点击顶部菜单栏
Build -> Clean Project,再点击Build -> Rebuild Project,完成后重新尝试安装。 - 检查设备是否开启多用户/工作空间:如果设备开了访客模式、工作profile,要确保当前使用的用户空间内已彻底卸载同包名应用,也可以切换到其他用户空间卸载对应包名应用后,再切回主用户尝试安装。
内容的提问来源于stack exchange,提问作者tareq masri
相关产品推荐
相关产品推荐

