让android应用程序获得system权限一般有两种方法
方法一:
需要在android源码下面编译应用
把应用XXX放到源码packages/app目录下,为该应用增加Android.mk文件,指定LOCAL_CERTIFICATE := platform
AndroidManifest.xml中的manifest加入android:sharedUserId="android.uid.system“
然后cd到该应用文件夹下,用mm命令编译,生成XXX.apk
这个方法还是比较简单的,但需要有android源码,并且我在用开发板进行开发时(我的应用里引用了第三方静态库),用这种方法编译会出错,无奈只能换第二种方法
方法二:
在manifest节点中加入android:sharedUserId="android.uid.system"
打开生成的XXX.apk删掉META-INF目录下的CERT.SF和CERT.RSA两个文件
找到密钥文件,在源码build/target/product/security下面的platform.pk8和platform.x509.pem两个文件
找到源码out/host/linux-x86/framework/signapk.jar
执行java -jar signapk.jar platform.x509.pem platform.pk8 XXX.apk XXXnew.apk
用adb install XXXnew.apk
用方法一会出错,用方法二就可以了,运行XXX应用后,ps命令查看XXX的user,显示为system,则说明修改成功了