有时写一个程序需要调用系统的库,如果权限不够,是用不了库里面一些方法的 。这时就需要将apk进行系统签名了。

简单常用的方法:

1,在apk的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.uid.system"

2,运行或打包得到apk

3,使用目标系统的platform密钥来给apk文件签名:

在系统android\build\target\product\security目录下找到platform.x509.pem 和platform.pk8两个文件;在系统out/host/linux-x86/framework目录下找到signapk.jar文件,把它们复制出来放到一个文件夹下,把需要进行系统签名的apk也和它们放到一个文件夹下。然后首先进入该文件目录,再在cmd上输入下面语句:java -jar signapk.jar platform.x509.pem platform.pk8 被签名apk名称.apk 签名后apk名称.apk,执行完后会在当前目录得到一个新的apk "签名后apk名称.apk" 即为已经系统签名的apk。

举个列子,例如要签名reset.apk,如下图:

cmd进入当前目录:输入命令java -jar signapk.jar platform.x509.pem platform.pk8 reset.apk s_reset.apk

按回车键,生成的s_reset.apk即为已经系统签名的apk。

需要注意的是,其中必须platform.x509.pem platform.pk8之前,否则会报错。

更多相关文章

  1. Android(安卓)Activity 详解
  2. react native之修改APP的名称和图标
  3. Android(安卓)初始化Setup Wizard——Provision
  4. 分析Android(安卓)根文件系统启动过程(init守护进程分析)
  5. Android(安卓)信号处理面面观 之 信号定义、行为和来源
  6. Android(安卓)OTA 升级之三:生成recovery.img
  7. Android(安卓)应用程序组件学习
  8. android嵌入式底层开发
  9. Android系统工具之Monkey自动化测试

随机推荐

  1. 尝试使用PHP和MySQL获取节点的路径
  2. 使用多个左连接查询 - 点列值不正确
  3. MySQL 5.6 MRR 的存储过程完美诠释
  4. Amoeba for MySQL---分布式数据库Proxy解
  5. [MySQL复制异常]Cannot execute statemen
  6. MySQL用户管理(5.7.20-winx64)
  7. oracle中decode函数 VS mysql中的if函数
  8. mysql官方文档之Range Optimization
  9. MySqli 中预处理类 stmt
  10. 如何使用另一个表中的多个列替换表中的一