Android其他应用修改系统时间

                   一般我们自己的应用要修改系统时间的话是需要在Manifest里面指定应用 android:sharedUserId="android.uid.system" ,但是如果自己应用和系统签名不一致的话,这个应用是安装不上的,所以需要修改应用的签名和系统一致。

          系统的签名文件一般存放在:build/target/product/security/  目录下,里面有多个文件,对应不同类型的签名。

          签名工具所在路径为: out/host/linux-x86/framework/signapk.jar  

          把签名文件和前面工具放在相同的文件目录中,并且将我们需要系统签名的APK也放进相同目录。然后打开cmd,将路径切换到当前文件的目录。

          运行     Java -jar signapk.jar platform.x509.pem platform.pk8 old.apk new.apk  

          注意old.apk是指需要签名的apk,new.apk是指签名后打apk.

           修改系统时间的方法:

// 设定系统时间,要和系统有相同UID才有效。
void setSystemDateTime() {
    Calendar c = Calendar.getInstance();
    c.set(Calendar.YEAR, datePicker.getYear());
    c.set(Calendar.MONTH, datePicker.getMonth());
    c.set(Calendar.DAY_OF_MONTH, datePicker.getDayOfMonth());
    c.set(Calendar.HOUR_OF_DAY, timePicker.getCurrentHour());
    c.set(Calendar.MINUTE, timePicker.getCurrentMinute());
    long when = c.getTimeInMillis();
    SystemClock.setCurrentTimeMillis(when);
 
}

你可能感兴趣的:(系统签名)