我有一个Android应用程序,它需要root权限才能从包管理器访问功能。因为用户应用程序无法获得必要的权限,我假设用户有一个root用户手机,从那里我使用Runtime.exec()运行pm w / su。
这与Lollipop合作,但从Marshmallow开始,它看起来不再适用了;常规用户应用程序无法调用,例如pm安装,但如果我在根终端上运行命令,则会返回错误,说明它无法与PackageManager通信。 Logcat在com.android.commands.pm.Pm
中的getService失败这是Marshmallow的新安全限制还是SuperSu的问题?现在通过Android for Work作为DeviceOwner进行此操作的唯一方法是什么?我希望将所有内容限制为root应用程序,而不必进行设备所有者或自定义构建。
答案 0 :(得分:0)
我最终又回过头来看这个,不幸的是发现它是由于旧版的SuperSu。 Marshmallow刚刚问世,所以我认为这是与su二进制文件的兼容性问题。我目前正在使用SuperSu 2.65,一切似乎再次按预期工作