是否可以为应用程序授予INJECT_EVENTS权限以进行开发/测试

时间:2015-11-25 19:01:56

标签: android android-permissions

我正在开发一个安装到系统/应用程序中的应用程序(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

2 个答案:

答案 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错误将得到解决