一, 关于签名的类别

build/target/product/security目录中有四组默认签名供Android.mk在编译APK使用:

1、testkey:普通APK,默认情况下使用。

2、platform:该APK完成一些系统的核心功能。经过对系统中存在的文件夹的访问测试,这种方式编译出来的APK所在进程的UID为system。比如:platform.x509.pem、platform.pk8

3、shared:该APK需要和home/contacts进程共享数据。

4、media:该APK是media/download系统中的一环。

二, 原理

1. APK源码中配置AndroidManifest.xml

无论采用何种签名方式,如果想实现具有系统权限的应用,在APK生成时,都需要在AndroidManifest.xml中配置android:sharedUserId=“android.uid.system”,如下所示

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

</manifest>

2. ROM ubuntu环境编译
该方式需要在安卓源码编译的环境下,在将APK打包至安卓系统升级包时,需要配置Android.mk文件,通过在配置LOCAL_CERTIFICATE 参数时,将其设置为PRESIGNED,如果需要改APK具有系统权限,使用系统签名,则需要设置为platform

LOCAL_CERTIFICATE := platform 或 shared 或 media
在设置好 Android.mk 文件后,在ubuntu环境下执行系统的编译流程。
如果之前在ubuntu环境下已经执行好了系统的编译流程,则可以直接cd到系统的package/apps目录下,进入到需要编译的APK文件目录下执行mm指令,或在其他目录执行mmm /package/apps/APK所在的文件夹名称。

三, 如何使用?(举例)

如果有看系统源码的同学,可以看到一些系统应用就是这样:

系统中所有使用android.uid.system作为共享UID的APK,都会首先在manifest节点中增加 android:sharedUserId="android.uid.system",然后在Android.mk中增加 LOCAL_CERTIFICATE := platform。可以参见Settings等

系统中所有使用android.uid.shared作为共享UID的APK,都会在manifest节点中增加 android:sharedUserId="android.uid.shared",然后在Android.mk中增加 LOCAL_CERTIFICATE := shared。可以参见Launcher等

系统中所有使用android.media作为共享UID的APK,都会在manifest节点中增加 android:sharedUserId="android.media",然后在Android.mk中增加LOCAL_CERTIFICATE := media。可以参见Gallery等。

Android - ROM签名相关推荐

  1. android rom签名 作用,Ubuntu下折腾Android笔记(一)——ROM 签名 | 翅膀~

    2010.8.30 UPDATE:java环境的配置也可以直接使用openjdk,打开终端 sudo apt-get install openjdk-6-jre 就可以了. ------------- ...

  2. android Rom 制作2

    引用:http://marshal.easymorse.com/archives/3622 制作Android ROM有两种方法: 编译Android源代码的方法,这个比较复杂,以后再介绍: 在已有的 ...

  3. Android ROM定制——界面美化基础

    Android ROM定制--界面美化基础 前言:很多童鞋对美化很感兴趣,都想拥有一个完完全全属于自己风格的手机系统!对那些自定义全局背景,1%电量显示,透明下拉菜单...都很感冒!美化的重点跟难点就 ...

  4. android rom包的组成结构,AndroidROM的制作与结构构成..doc

    Android ROM的制作与烧录 (2010-08-25 19:34) Android编译生成的三个镜像文件Android源码编译后,在out/target/product/generic下生成的三 ...

  5. Android Rom修改制作工具软件集合

    1.SIN2IMG 用于固件ftf中system.sin的解包 下载地址: SIN2IMG.rar 使用方法:将固件ftf文件用rar打开,解压出system.sin文件,将该文件于SIN2IMG.e ...

  6. Android ROM定制

    前言:很多童鞋对美化很感兴趣,都想拥有一个完完全全属于自己风格的手机系统!对那些自定义全局背景,1%电量显示,透明下拉菜单...都很感冒!美化的重点跟难点就在于对"framework-res ...

  7. Android ROM的制作与烧录

    Android编译生成的三个镜像文件 Android源码编译后,在out/target/product/generic下生成的三个镜像文件:ramdisk.img,system.img,userdat ...

  8. android Rom 制作

    引用:http://luoyefeng.blog.hexun.com/80257984_d.html 关键词:java环境配置  制作工具 update-script编写美化 集成 编译反编译 一.  ...

  9. android go rom下载地址,一步一步学Android ROM开发(一)——修改现有ROM资源文件-Go语言中文社区...

    一,准备工作 1.一台开发手机. 我推荐最好用G7,也是就HTC Desire那款(是不是有些广告嫌疑...),这台机各种ROM都很全,资料也多些,很容易刷到root,android版本也是最新的2. ...

最新文章

  1. GDCM:gdcm::DICOMDIR的测试程序
  2. 架构师不可不知的十大可扩展架构
  3. java 保垒机telnet,开源堡垒机系统Teleport
  4. [源码和文档分享]基于AVL树表示的集合ADT实现与应用
  5. Tomcat中的Out Of Memory错误
  6. JavaTPoint 编程语言中文教程【翻译完成】
  7. c语言中 函数值类型的定义可以,C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是...
  8. TIOBE 4月编程语言排行榜:MATLAB即将跌出TOP 20
  9. “软下来”的苹果和小米能否拯救智能手机的焦虑? | 畅言
  10. Luogu P4161 [SCOI2009]游戏 数论+DP
  11. js多个定时器 id按顺序么_定时器和时间轮系列(一): 初识
  12. 决策树应用实例③——银行借贷模型
  13. 夜神模拟器ADB版本不一致问题
  14. 门函数卷积_卷积及其应用
  15. ODC20:更开放的行业解决方案,进击的OPPO IoT生态与云能力
  16. 上偏续关系哈斯图_[离散]哈斯图偏序集--最好理解版本
  17. 主板声卡坏了会不会有电流声_拯救无声电脑,还能升级音质,独立声卡音频转接头来解决...
  18. mysql数据备份与导入(二)
  19. mysql占用内存过高_MySQL内存消耗过高问题处理
  20. Python 图像处理OpenCV:直方图均衡化(笔记)

热门文章

  1. windows单网卡配置双ip 解决网关冲突
  2. module-info.class问题
  3. MySQL 8.0导入样例数据库employees
  4. 如何在网站上加入google地图 .net (by yfdong22)
  5. 【天光学术】经济统计学论文:“三权分置”下土地经营权抵押贷款证券化研究(节选)
  6. 魔兽争霸3冰封王座1.24e 多开联机补丁 信息发布与收集点
  7. 【linux】课前准备及计算机入门
  8. 字、字节、bit、byte
  9. u-boot与linux内核间的参数传递过程分析
  10. 计算机一级B考试总结500字,月考总结作文500字(通用11篇)