Android其他应用修改系统时间

在Android中,要修改系统时间,应用需指定android:sharedUserId='android.uid.system'并在Manifest中声明。但若应用签名与系统签名不符,应用无法安装。需获取系统签名文件,如platform.x509.pem和platform.pk8,使用signapk.jar工具对应用进行签名。签名过程包括将签名文件、工具和未签名APK置于同一目录,通过命令行调用工具完成签名,生成新的APK。
AI助手已提取文章相关产品:

                   一般我们自己的应用要修改系统时间的话是需要在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);
 
}

您可能感兴趣的与本文相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值