【问题标题】:Setting device owner rights to the app on Samsung phone在三星手机上设置应用程序的设备所有者权限
【发布时间】:2017-09-06 20:23:41
【问题描述】:

我正在尝试使用以下命令通过 adb 将我的应用设置为设备所有者:

dpm set-device-owner pl.my.packet/pl.my.packet.receivers.AdminReceiver

然后我看到了那个错误:

java.lang.SecurityException: Neither user 2000 nor current process has com.samsung.android.knox.permission.KNOX_PROXY_ADMIN_INTERNAL.,com.sec.enterprise.permission.MDM_PROXY_ADMIN_INTERNAL
    at android.os.Parcel.readException(Parcel.java:1693)
    at android.os.Parcel.readException(Parcel.java:1646)
    at android.app.admin.IDevicePolicyManager$Stub$Proxy.setActiveAdmin(IDevicePolicyManager.java:5825)
    at com.android.commands.dpm.Dpm.runSetDeviceOwner(Dpm.java:145)
    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)

手机:Samsung S7 Edge,未植根,未关联任何 Google 帐户。

我为我搜索了其他有用的线程但一无所获,我尝试了以下权限:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.sec.enterprise.permission.MDM_PROXY_ADMIN_INTERNAL"/>
<uses-permission android:name="com.samsung.android.knox.permission.KNOX_PROXY_ADMIN_INTERNAL"/>
<uses-permission android:name="com.samsung.accessory.permission.ACCESSORY_FRAMEWORK" />

【问题讨论】:

  • 您真的需要设备所有者模式吗?设备所有者模式提供的许多功能也可以通过三星 SDK 获得。
  • @dkwiebe 能够跨硬件供应商使用标准技术真是太好了。三星打破了这个?
  • 我让它在三星设备上正常工作,所以我认为我的问题的答案是否定的。
  • 你解决了吗?
  • 不,我放弃了..

标签: android adb samsung-knox


【解决方案1】:

我在三星手机上遇到了同样的问题,并在我的模拟器上进行了尝试,所以出现了另一个异常。

原来 AdminReceiver.class 必须位于应用程序的根目录中: com.example.yourRootPackage.MyAdminReceiver.class

【讨论】:

  • 能否为您的解决方案提供参考?
  • 我想至少我想在非三星手机上运行它,因为为了工作,我已经开发了一个 kiosk 模式应用程序,所以我来到这个:stackoverflow.com/a/62921377/7173050 因为没有三星手机我收到“未知管理员”错误。希望这是您的要求
【解决方案2】:

我遇到了类似的错误,发现我在dpm set-device-owner 命令中输入了错误的包和接收者名称。我认为您不需要在收件人姓名中包含包裹名称。也许dpm set-device-owner pl.my.packet/.AdminReceiver

【讨论】:

  • 这个答案被否决了,但没有解释。我应该如何改进它?
  • 赞成。这其实就是答案!我也遇到了同样的问题,只是改了几个名字就行了。
【解决方案3】:

没有root

你不能像被明确告知的那样那样做:

用户 2000 和当前进程都没有 com.samsung.android.knox.permission.KNOX_PROXY_ADMIN_INTERNAL.,com.sec.enterprise.permission.MDM_PROXY_ADMIN_INTERNAL

而且您不能只是添加随机权限并期望它起作用。我假设两者都至少是signature 类型或system。而且您不能拥有非根或没有系统证书。

【讨论】:

  • 这没有帮助。它没有提供替代方案或解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-01
  • 1970-01-01
  • 2016-11-24
相关资源
最近更新 更多