【发布时间】:2022-02-18 18:56:01
【问题描述】:
我在尝试在我的 Android 设备上设置设备所有者时遇到问题。如果我通过点击播放按钮从 android studio 中将应用程序安装到物理设备上,我可以使用adb shell dpm set-device-owner package/.receiver 添加和删除设备所有者,而不会出现任何问题。我可以在 android studio 中或通过 cmd 执行此操作。
当我使用 apk 安装应用程序并手动安装或使用 android studio 之外的 adb 时,我无法再设置设备所有者。我总是收到错误Not allowed to set the device owner because there are already some accounts on the device
这是没有意义的,因为设备上没有帐户。我可以回到 android studio,在上面安装应用程序并再次运行 adb 命令,它就可以正常工作而无需执行任何其他操作。
我在这里迷路了,因为那里的错误似乎不正确,但我不知道为什么从 android studio 之外的 apk 安装不起作用。
编辑:一些注释
- 我没有使用模拟器进行测试。当我说从 android studio 安装时,我的意思是直接安装到手机上,而不是模拟器上
- 我有正确指向 xml 的清单 定义
- 从 android studio 和 设置设备所有者,我将获得所有预期的权限
- 当我从输出 apk 安装时,我不再能够设置设备 所有者(以前被清除,甚至尝试重新恢复 电话。帐户设置为空,未列出任何帐户)
【问题讨论】:
-
添加了赏金,因为我对此没有任何帮助。我不相信我得到的错误是准确的。手机上没有帐户,如果重新恢复出厂设置,我会得到同样的结果。如果我直接从 android studio 重新安装应用程序作为调试,它就可以工作。仅在手动安装 APK 时才会失败。这是签名问题吗?
-
您查看了这条评论吗?可能会有所帮助。 stackoverflow.com/a/44164769/9715339
-
是的,我已经看到那个帖子了,谢谢。这不是帐户问题,因为在恢复出厂设置后已经测试过同样的问题。而且,如果我切换到通过 android studio 安装,即使它不是来自 apk 而不对设备进行任何更改,它也可以工作。
-
已经曝光的一件事是,无论出于何种原因将 TestOnly 设置为 true 都将允许安装 apk,然后将其设置为设备所有者。这显然不理想,因为没有人应该只将应用程序留在测试中,但至少可以让我们走上一条道路
-
仅供参考:source.android.com/compatibility/12/… 虽然您应该检查 CDD 以了解您支持的 Android 操作系统版本。
标签: android android-studio adb