在Samsung手机上设置应用程序的设备所有者权限

时间:2017-04-11 12:34:42

标签: android adb samsung-knox

我正尝试使用此命令通过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)

电话:三星S7 Edge,没有root权限,没有链接任何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" />

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:-1)

  

没有扎根

你不能这样做,因为你清楚地告诉你:

  

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

您不能只添加随机权限并期望它能够正常工作。我假设它们至少是signature类型或system。并且您不能在非root用户或没有系统证书。