将App设为Device Owner后,Android Studio构建时提示无法终止应用实例
解决Device Owner应用重新构建时的“Couldn't terminate previous instance of app”错误
方法一:临时移除Device Owner权限后重新部署
这是最直接的解决方案,每次部署前先解除设备所有者权限:
- 执行ADB命令移除激活的设备管理员:
adb shell dpm remove-active-admin com.homeapp/com.homeapp.utils.MyDeviceAdminReceiver - 卸载当前应用(若Android Studio仍提示冲突则执行):
adb uninstall com.homeapp - 重新在Android Studio中点击“Run”按钮构建部署应用,完成后再重新设置Device Owner:
adb shell dpm set-device-owner com.homeapp/com.homeapp.utils.MyDeviceAdminReceiver
方法二:配置Android Studio运行参数,强制覆盖安装
如果不想每次都手动解除权限,可以修改Android Studio的运行配置,添加强制安装参数:
- 打开Android Studio的「Run/Debug Configurations」(点击工具栏运行按钮旁的下拉菜单,选择「Edit Configurations...」)
- 在对应的应用配置中,找到「General」标签页下的「Install Flags」选项
- 添加以下参数:
各参数说明:-r -d -t-r:覆盖安装已存在的应用-d:允许安装版本号更低的包(适合Debug版本频繁迭代)-t:允许安装测试签名的应用包
- 保存配置后重新运行应用,Android Studio会自动跳过进程终止检查,直接覆盖安装
方法三:通过ADB直接强制安装APK包
如果Android Studio的自动部署仍失败,可以手动导出Debug APK后用ADB命令强制安装:
- 在Android Studio中执行「Build > Build Bundle(s)/APK(s) > Build APK(s)」生成Debug APK
- 找到生成的APK文件(默认路径:
app/build/outputs/apk/debug/app-debug.apk) - 执行ADB安装命令:
adb install -r -d -t /path/to/app-debug.apk
额外注意事项
若应用已开启Kiosk模式(如设置了lockTaskMode),需先退出Kiosk模式才能正常终止进程,可在应用中添加退出逻辑,或尝试ADB命令:
adb shell am force-stop com.homeapp
不过该命令对Device Owner应用可能无效,优先使用前两种方法。
内容的提问来源于stack exchange,提问作者vepzfe
相关产品推荐
相关产品推荐

