执行adb shell am kill命令遇SecurityException权限拒绝问题求助
解决
adb shell am kill权限拒绝问题 问题根源
你在App的AndroidManifest.xml中添加的android.permission.KILL_BACKGROUND_PROCESSES权限仅作用于你的App进程,而执行adb shell am kill的是shell用户(对应报错里的uid=2000),该用户默认没有杀死其他App后台进程的权限,因此触发权限拒绝错误。
可行解决方案
- 使用root权限执行命令:如果你的设备已获取root权限,通过
su切换到root用户执行命令:adb shell su -c "am kill com.example.android.dessertpusher" - 使用无需权限的替代命令:
- 强制停止App(多数设备无需额外权限):
adb shell am force-stop com.example.android.dessertpusher - 清除App数据并终止进程:
adb shell pm clear com.example.android.dessertpusher
- 强制停止App(多数设备无需额外权限):
- 针对Oppo设备的额外说明:报错中显示
OppoActivityManagerService,部分Oppo机型对进程管理有额外限制,若上述命令仍无效,可尝试在手机「开发者选项」中确认adb相关权限已开启,或使用系统自带的进程管理工具手动终止目标App。
内容的提问来源于stack exchange,提问作者MickeyCoote
相关产品推荐
相关产品推荐

