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

使用adb设置App为设备所有者失败:多用户提示与实际不符

解决设置设备所有者时的"多用户存在"报错问题

我碰到过不少Android 7.x设备出现这类情况——明明系统设置里看不到其他用户,但adb就是揪着"多用户"的问题报错。这其实是因为Android 5.0之后的多用户机制更完善,系统里会存在一些隐藏用户(比如来宾用户、工作资料关联用户,甚至某些预装应用创建的内部用户),这些用户在设置界面不显示,但会触发设备所有者的权限限制。

给你几个一步步的解决办法:

  • 第一步:排查系统内所有用户(包括隐藏的)
    先通过adb命令确认到底有没有隐藏用户,执行:

    adb shell pm list users
    

    输出大概是这样的:

    UserInfo{0:Owner:13} running
    UserInfo{10:Guest:10} running

    这里的10就是隐藏的来宾用户ID,这类用户就是导致报错的元凶。

  • 第二步:删除多余的隐藏用户
    针对列表里除主用户(ID通常是0)之外的用户,用以下命令删除:

    adb shell pm remove-user <USER_ID>
    

    比如要删除ID为10的来宾用户,就执行:

    adb shell pm remove-user 10
    

    执行成功后会返回Success提示。

  • 第三步:检查并移除工作资料(如果存在)
    有些设备的"应用双开"或"工作资料"功能会悄悄创建关联用户,即使设置里没显示。可以用命令查看设备策略信息:

    adb shell dumpsys device_policy
    

    如果输出里有Work profile相关内容,说明存在工作用户,同样用pm remove-user命令删除对应的用户ID即可。

  • 第四步:重启设备后重试设置命令
    删除用户后建议重启设备,之后再执行你的设备所有者设置命令:

    adb shell dpm set-device-owner <你的包名>/<DeviceOwnerReceiver路径>
    
  • 极端情况(需Root权限)
    如果以上方法都没用,可能是联想设备预装的系统应用创建了特殊隐藏用户。你可以尝试获取Root权限后,进入/data/system/users/目录——这里每个数字命名的文件夹对应一个用户,除了0文件夹(主用户)之外,其他都可以删除(操作前建议备份该目录),重启设备后再试。

至于为什么之前三星Tab A(4.4.2)能正常运行?因为Android 4.4的多用户机制还比较简单,系统不会保留这类隐藏用户,对设备所有者的权限限制也没那么严格;到Android 7.x之后,系统对多用户的检测和权限管控都大幅加强,所以才会出现这个差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:17:34