我正尝试使用此命令通过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" />
答案 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用户或没有系统证书。