我正在开发一个安装到系统/应用程序中的应用程序(apk会传递给包含在系统映像中的手机制造商)。
我想要执行一些概念验证实验,这些实验需要向应用添加INJECT_EVENTS权限。 AFAIK,为了使应用程序被授予此权限a)它必须是系统应用程序,b)需要使用系统证书进行签名。
a)没有问题,因为应用程序最终将会进入,而且我也使用root设备。
但是我没有b)的系统证书。
为了在将应用程序交付给手机制造商之前开发和测试应用程序,我是否有办法将此权限授予应用程序?
adb shell pm grant" app package" android.permission.INJECT_EVENTS结果如下:
Operation not allowed: java.lang.SecurityException: Permission android.permission.INJECT_EVENTS is not a changeable permission type
答案 0 :(得分:0)
adb shell不是SU用户。使用RunTime将shell命令注入SU。使用任何工具授予您SU权限,然后执行命令
Process suProcess = Runtime.getRuntime().exec("su pm grant 'app package' android.permission.INJECT_EVENTS");
suProcess.waitFor();
答案 1 :(得分:0)
转到开发人员选项并进行USB调试(安全设置)... INJECT_EVENTS错误将得到解决