You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过ADB在Android工作配置文件中安装APK

解决ADB安装APK到Android Work Profile的权限异常问题

遇到Security exception: Shell does not have permission to access user <ID>这类错误,核心原因是默认ADB shell没有访问工作配置文件(Work Profile)用户上下文的权限。结合你的需求(替换调试版应用排查问题),以下是几种可行的解决方法:

1. 先激活工作用户再执行安装

首先确认工作用户的ID:

adb shell pm list users

输出里会显示类似UserInfo{12:Work profile:10}的条目,其中12就是目标工作用户的ID。

先让工作用户处于活跃状态:

adb shell am start-user 12

之后再执行安装命令:

adb install -r --user 12 app_name.apk

这个方法不需要root权限,是最优先尝试的方案。

2. 推送APK到设备后,在工作用户上下文执行本地安装

如果方法1无效,可以先把APK推送到设备的公共可访问目录:

adb push app_name.apk /sdcard/

接着进入ADB shell,切换到工作用户的上下文执行安装(需要设备已root):

adb shell
# 切换到工作用户
su 12
# 执行覆盖安装
pm install -r /sdcard/app_name.apk
# 退出用户上下文和shell
exit
exit

3. 单独开启工作Profile的USB调试权限

部分设备的Work Profile需要单独开启USB调试,而不是仅在主用户开启:

  • 进入工作Profile的设置界面
  • 找到「关于手机」,连续点击版本号激活开发者选项
  • 进入开发者选项,开启「USB调试」权限

开启后再重新尝试安装命令,大概率能解决权限问题。

4. 先卸载工作Profile中的旧应用再重装

如果只是替换已安装的调试版应用,可以先卸载工作Profile里的旧版本:

adb uninstall --user 12 com.your.app.package

之后再执行安装命令,这种方式有时能绕过系统的权限校验逻辑。

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

火山引擎 最新活动