1

我需要静默更新我的应用程序(如此所述)。

所以我需要让我的应用程序成为手机 SAMSUNG S6 中的设备所有者。我通过 adb shell 命令使用 dpm 命令,因此我配置了我的设备(从 Settings->Accounts 中删除所有帐户),启用开发人员模式,启用调试,像往常一样安装我的应用程序(例如使用 Android Studio 安装它),然后运行命令:

adb shell dpm set-device-owner <PACKAGE-NAME>/.DeviceAdminComponent

但我得到下一个错误:

java.lang.IllegalStateException: Not allowed to set the device owner because there are already several users on the device
        at android.os.Parcel.readException(Parcel.java:1701)
        at android.os.Parcel.readException(Parcel.java:1646)
        at android.app.admin.IDevicePolicyManager$Stub$Proxy.setDeviceOwner(IDevicePolicyManager.java:6123)
        at com.android.commands.dpm.Dpm.runSetDeviceOwner(Dpm.java:148)
        at com.android.commands.dpm.Dpm.onRun(Dpm.java:96)
        at com.android.internal.os.BaseCommand.run(BaseCommand.java:51)
        at com.android.commands.dpm.Dpm.main(Dpm.java:41)
        at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
        at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:301)

这是一个非常奇怪的。如果我运行这个命令:

adb shell dpm set-profile-owner <PACKAGE-NAME>/.DeviceAdminComponent

它对我很好。

有人可以帮我解决这个问题吗?可能是因为三星的 KNOX 造成的?(我通过设备管理员查看 - 我的 Knox 策略管理员,我无法禁用)。

4

1 回答 1

0

要在手机上设置设备所有者应用程序需要恢复出厂设置,然后您可以使用 adb 命令。

于 2019-10-21T16:22:00.790 回答