1、manifest 中加入android:sharedUserId="android.uid.system"这个属性
2、使用eclipse编译出apk文件,但是这个apk文件是不能用的。
3、用压缩软件打开apk文件,删掉META-INF目录下的CERT.SF和CERT.RSA两个文件。
4、使用目标系统的platform密钥来重新给apk文件签名。这步比较麻烦,首先找到密钥文件,在我的Android源码目录中的位置是"build/target/product/security",下面的platform.pk8和platform.x509.pem两个文件。然后用Android提供的Signapk工具来签名,signapk的源代码是在"build/tools/signapk"下,用法为"signapk.jar platform.x509.pem platform.pk8 input.apk output.apk"[网上好多这样的签名文件,找个能与目标机器相配的。否则签名后还是提示安装签名出错,不允许安装]
5、adb install output.apk.
附修改系统时间代码:
public static void setSystemTime(final Context cxt, String datetimes) {
try {
Process process = Runtime.getRuntime().exec("sh");
String datetime = ""; // 测试的设置的时间【时间格式
datetime = datetimes.toString(); // yyyyMMdd.HHmmss】
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes("setprop persist.sys.timezone GMT\n");
os.writeBytes("/system/bin/date -s " + datetime + "\n");
os.writeBytes("clock -w\n");
os.writeBytes("exit\n");
os.flush();
} catch (IOException e) {
Toast.makeText(cxt, "请获取Root权限", Toast.LENGTH_SHORT).show();
}
}
在4.42系统中测试通过…………