在开发中,有些应用的代码不参与系统编译,而是在IDE工具中编译,然后apk参与系统编译并被签名(需要系统签名权限),在调试中时常需要替换系统中编译出来的apk,签名不同会导致安装失败。

1.在程序代码中添加系统权限

androidManifest.xml中添加 android:sharedUserId="android.uid.system"

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"        package="com.xxx.xxx.xxx"        android:sharedUserId="android.uid.system" >

2.在源码中提取签名文件

源码的签名文件各部相同,由定制系统的厂商来提供,文件在:build\target\product\security目录下
Android中使用定制系统的签名文件给应用签名_第1张图片
定制源码不同目录结果会有差异,可以将目录整个拷贝出来,或将上图箭头所指的文件拷贝出;

3.签名工具SignApk.jar

下载好SignApk.jar签名工具后,与apk和签名文件放在同一目录(比较方便)
Android中使用定制系统的签名文件给应用签名_第2张图片
编辑签名脚本例如:

Android中使用定制系统的签名文件给应用签名_第3张图片
红色箭头为原APK文件名,蓝色箭头为签名后的APK文件名,可随意编辑名称
运行编辑好的bat脚本,就会在同目录下生成签名后的apk

更多相关文章

  1. Android Studio中新建assets文件的两种方法
  2. 浅析Android 4.0的通知系统(附Android 4.0设计指南全文翻译)
  3. 让你自己编写的Android的Launcher成为系统中第一个启动应用程序,
  4. 如何在自己的App中调用Android系统自带的安装/卸载程序
  5. 关于Android的反编译apk文件

随机推荐

  1. Spring 统一异常处理的方式
  2. Java线程池-当任务渐增时的处理-各个参数
  3. [有人@你]微信小程序“群统计”正式发布!
  4. 一文吃透JVM分代回收机制
  5. Mysql 死锁引发的@Transactional 数据回
  6. 群统计v0.9: 特殊权重票,现场活动投票利器
  7. 如何尽快掌握Python?
  8. Redission 实现分布式锁
  9. 一文教你了解redis哨兵模式
  10. 不用***,如何查看国外技术文章