我们在写android apk时往往会需要apk具有system权限才能做一些操作,比如从手机中读取data目录下的内容,该内容标记着system访问权限,这时我们就需要给apk赋予system权限,常用的在windows环境下的编译方法:
1、在代码中,AndroidManifest.xml文件的manifest项中,添加android:sharedUserId=”android.uid.system”
2、编译程序,得到APK文件,如src.apk
3、将APK文件用压缩软件打开,删除META-INF目录里面的CERT.SF和CERT.RSA两个文件
4、运行命令(其中signapk.jar platform.x509.pem platform.pk8这3个文件在源码的build目录下可以找到)
java -jar signapk.jar platform.x509.pem platform.pk8 src.apk dst.apk
5、dst.apk安装后就有system权限,就可以访问设备
注意platform.x509.pem和platform.pk8在源码目录下可以找到,往往会区分不同的版本,如果release文件夹下对应的是提供给user版本使用的。