处理步骤:
<一>当在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间
调用这个函数没有使系统时间更改,可做如下处理:
<二>在应用AndroidManifest.xml中:添加红色标记(表示需要系统权限)
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.kinstar.ctsi"
android:versionCode="1"
android:versionName="1"
android:sharedUserId="android.uid.system">
<三>使用目标系统的platform密钥来重新给apk文件签名,在Android源码目录中的位置是"build\target\product\security",下面的platform.pk8和platform.x509.pem两个文件。然后用Android提供的Signapk工具来签名,signapk的源代码是在"build\tools\signapk"下,
<四>建立一个sing文件夹(eg:C:\common\sign)
拷贝2中提到的platform.pk8、platform.x509.pem、signapk.jar三个文件到sign下
将生成的apk(eg:CTSI_POS.apk )也拷贝到sign下
<五>打开cmd, 执行
java -jar C:\common\sign\signapk.jar C:\common\sign\platform.x509.pem C:\common\sign\platform.pk8 C:\common\sign\CTSI_POS.apk C:\common\sign\CTSI.apk
在其sign目录下生成需要的CTSI.apk
特别注意:
1.platform.pk8、platform.x509.pem、signapk.jar三个签名工具不是通用的,编译的apk,要安装到那个版本的系统,就去那源码里找对应的签名工具,并不是各个版本通用
============================
参考文档:
http://hi.baidu.com/donghaozheng/item/93cbeaf737646f10d6ff8ce4
http://my.oschina.net/blackylin/blog/71692