当前位置: 代码迷 >> Android >> 给Android程序签约platform权限的名
  详细解决方案

给Android程序签约platform权限的名

热度:58   发布时间:2016-05-01 16:01:33.0
给Android程序签署platform权限的名

??? 做Home程序的时候,由于需要提供时间日期的设置功能,所以需要修改系统时间。修改时间的代码很简单,就那么一句,但是要让它生效可就不那么容易了。
??? 修改系统时间的条件是,你的程序的user id必须跟system一样,也就是说,需要system权限。
??? 怎样达到这个条件呢?
??? Android提供了sharedUserId来设置程序归属哪个user id,我们在程序的manifest文件里面加上如下属性

android:sharedUserId="android.uid.system"

??? 这样还不行,因为这样编译出来的apk安装不了。还需要签名。

??? 签名需要用到的文件是源码中的build\target\product\security目录下的platform.pk8和platform.x509.pem两个文件。然后使用signapk.jar来签名。这三个文件打包放到附件了。

??? 在cmd下面,运行

java -jar signapk.rar platform.x509.pem platform.pk8 a.apk a_signed.apk

???? a.apk是待签名的apk,a_signed.apk是签名后的apk。这样,如果你的代码里面有用到需要platform权限的功能,就可以畅通无阻了。


??? 当然,可能不同的系统platform.pk8和platform.x509.pem文件不一样,但是我手里的三个平板电脑都是用这两个文件签名的,运行正常。

1 楼 6a209 2011-09-13  
博主你好,请问下你这样签名以后程序能直接安装?还是要push进去???
2 楼 chroya 2011-09-14  
6a209 写道
博主你好,请问下你这样签名以后程序能直接安装?还是要push进去???

可以直接安装的
  相关解决方案