是否可以出于 dev/testing 目的向应用授予 INJECT_EVENTS 权限
Is it possible to grant INJECT_EVENTS permission to an app for dev/testing purposes
我正在开发一个安装到 system/app 中的应用程序(apk 被交付给包含在系统映像中的 phone 制造商)。
我想执行一些需要向应用程序添加 INJECT_EVENTS 权限的概念验证实验。 AFAIK,为了让应用程序获得此权限 a) 它需要是系统应用程序并且 b) 它需要使用系统证书进行签名。
a) 没问题,因为这是应用程序最终会去的地方,而且我也在使用已获得 root 权限的设备。
但是我没有b)的系统证书。
为了在应用程序交付给 phone 制造商之前对其进行开发和测试,我有没有办法向应用程序授予此权限?
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
adb shell 不是 SU 用户。使用 RunTime 将 shell 命令作为 SU 注入。使用任何工具授予你SU权限,然后执行你的命令
Process suProcess = Runtime.getRuntime().exec("su pm grant 'app package' android.permission.INJECT_EVENTS");
suProcess.waitFor();
转到开发人员选项和 USB 调试(安全设置)...INJECT_EVENTS 错误将得到解决
我正在开发一个安装到 system/app 中的应用程序(apk 被交付给包含在系统映像中的 phone 制造商)。
我想执行一些需要向应用程序添加 INJECT_EVENTS 权限的概念验证实验。 AFAIK,为了让应用程序获得此权限 a) 它需要是系统应用程序并且 b) 它需要使用系统证书进行签名。
a) 没问题,因为这是应用程序最终会去的地方,而且我也在使用已获得 root 权限的设备。
但是我没有b)的系统证书。
为了在应用程序交付给 phone 制造商之前对其进行开发和测试,我有没有办法向应用程序授予此权限?
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
adb shell 不是 SU 用户。使用 RunTime 将 shell 命令作为 SU 注入。使用任何工具授予你SU权限,然后执行你的命令
Process suProcess = Runtime.getRuntime().exec("su pm grant 'app package' android.permission.INJECT_EVENTS");
suProcess.waitFor();
转到开发人员选项和 USB 调试(安全设置)...INJECT_EVENTS 错误将得到解决