Мне нужно обновить приложение без вывода сообщений (как описано здесь ).
Поэтому мне нужно сделать мое приложение владельцем устройства в телефоне SAMSUNG S6. Я использую команду dpm через команду оболочки adb, поэтому я подготавливаю свое устройство (удаляю всю учетную запись из Настройки-> Учетные записи), включаю режим разработчика, включаю отладку, устанавливаю свое приложение как обычно (например, устанавливаю его с 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 от SAMSUNG? (Я вижу через Администраторы устройства - Мой администратор политики Knox, что я не могу отключить).