方法一
1.修改AndroidManifest.xml, 新增android:sharedUserId="android.uid.system"屬性(使用system身份)
<manifest xmlns:android="http://schemas.android.com/apk/res/android"2.修改Android.mk文件,加入LOCAL_CERTIFICATE := platform這一行
android:sharedUserId="android.uid.system">
3.重新編譯apk
方法二
1.如方法一修改AndroidManifest.xml, 新增android:sharedUserId="android.uid.system"屬性(使用system身份)
<manifest xmlns:android="http://schemas.android.com/apk/res/android"2.使用Eclipse編譯出apk
android:sharedUserId="android.uid.system">
3.刪除該apk中META-INF目錄下的CERT.SF和CERT.RSA兩個檔案
4.以系統的public/private key重新簽署打包apk, signapk的用法為
Usage: signapk [-w] publickey.x509[.pem] privatekey.pk8 input.jar output.jar5.實際執行命令如
$java -jar /path/to/android/out/host/linux-x86/framework/signapk.jar /path/to/android/build/target/product/security/platform.x509.pem /path/to/android/build/target/product/security/platform.pk8 /path/to/input.apk /path/to/output.apk
如果想要不同的apk以相同的uid身份在執行, 則在這些不同的APK中AndroidManifest.xml的語法為
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:sharedUserId="{MY.URI.FORMAT}">
reference:
Android中如何修改系統時間(應用程序獲得系統權限)
Jollen的Android系統管理雜記,#1:關於 android.uid.system與AID_SYSTEM
沒有留言:
張貼留言