一般我们自己的应用要修改系统时间的话是需要在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); }
在Android中,要修改系统时间,应用需指定android:sharedUserId='android.uid.system'并在Manifest中声明。但若应用签名与系统签名不符,应用无法安装。需获取系统签名文件,如platform.x509.pem和platform.pk8,使用signapk.jar工具对应用进行签名。签名过程包括将签名文件、工具和未签名APK置于同一目录,通过命令行调用工具完成签名,生成新的APK。

2410


被折叠的 条评论
为什么被折叠?



