应用程序修改android系统时间

时间:2024-04-15 19:03:34

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系统中测试通过…………