Android - ROM签名
一, 关于签名的类别
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签名相关推荐
- android rom签名 作用,Ubuntu下折腾Android笔记(一)——ROM 签名 | 翅膀~
2010.8.30 UPDATE:java环境的配置也可以直接使用openjdk,打开终端 sudo apt-get install openjdk-6-jre 就可以了. ------------- ...
- android Rom 制作2
引用:http://marshal.easymorse.com/archives/3622 制作Android ROM有两种方法: 编译Android源代码的方法,这个比较复杂,以后再介绍: 在已有的 ...
- Android ROM定制——界面美化基础
Android ROM定制--界面美化基础 前言:很多童鞋对美化很感兴趣,都想拥有一个完完全全属于自己风格的手机系统!对那些自定义全局背景,1%电量显示,透明下拉菜单...都很感冒!美化的重点跟难点就 ...
- android rom包的组成结构,AndroidROM的制作与结构构成..doc
Android ROM的制作与烧录 (2010-08-25 19:34) Android编译生成的三个镜像文件Android源码编译后,在out/target/product/generic下生成的三 ...
- Android Rom修改制作工具软件集合
1.SIN2IMG 用于固件ftf中system.sin的解包 下载地址: SIN2IMG.rar 使用方法:将固件ftf文件用rar打开,解压出system.sin文件,将该文件于SIN2IMG.e ...
- Android ROM定制
前言:很多童鞋对美化很感兴趣,都想拥有一个完完全全属于自己风格的手机系统!对那些自定义全局背景,1%电量显示,透明下拉菜单...都很感冒!美化的重点跟难点就在于对"framework-res ...
- Android ROM的制作与烧录
Android编译生成的三个镜像文件 Android源码编译后,在out/target/product/generic下生成的三个镜像文件:ramdisk.img,system.img,userdat ...
- android Rom 制作
引用:http://luoyefeng.blog.hexun.com/80257984_d.html 关键词:java环境配置 制作工具 update-script编写美化 集成 编译反编译 一. ...
- android go rom下载地址,一步一步学Android ROM开发(一)——修改现有ROM资源文件-Go语言中文社区...
一,准备工作 1.一台开发手机. 我推荐最好用G7,也是就HTC Desire那款(是不是有些广告嫌疑...),这台机各种ROM都很全,资料也多些,很容易刷到root,android版本也是最新的2. ...
最新文章
- GDCM:gdcm::DICOMDIR的测试程序
- 架构师不可不知的十大可扩展架构
- java 保垒机telnet,开源堡垒机系统Teleport
- [源码和文档分享]基于AVL树表示的集合ADT实现与应用
- Tomcat中的Out Of Memory错误
- JavaTPoint 编程语言中文教程【翻译完成】
- c语言中 函数值类型的定义可以,C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是...
- TIOBE 4月编程语言排行榜:MATLAB即将跌出TOP 20
- “软下来”的苹果和小米能否拯救智能手机的焦虑? | 畅言
- Luogu P4161 [SCOI2009]游戏 数论+DP
- js多个定时器 id按顺序么_定时器和时间轮系列(一): 初识
- 决策树应用实例③——银行借贷模型
- 夜神模拟器ADB版本不一致问题
- 门函数卷积_卷积及其应用
- ODC20:更开放的行业解决方案,进击的OPPO IoT生态与云能力
- 上偏续关系哈斯图_[离散]哈斯图偏序集--最好理解版本
- 主板声卡坏了会不会有电流声_拯救无声电脑,还能升级音质,独立声卡音频转接头来解决...
- mysql数据备份与导入(二)
- mysql占用内存过高_MySQL内存消耗过高问题处理
- Python 图像处理OpenCV:直方图均衡化(笔记)
热门文章
- windows单网卡配置双ip 解决网关冲突
- module-info.class问题
- MySQL 8.0导入样例数据库employees
- 如何在网站上加入google地图 .net (by yfdong22)
- 【天光学术】经济统计学论文:“三权分置”下土地经营权抵押贷款证券化研究(节选)
- 魔兽争霸3冰封王座1.24e 多开联机补丁 信息发布与收集点
- 【linux】课前准备及计算机入门
- 字、字节、bit、byte
- u-boot与linux内核间的参数传递过程分析
- 计算机一级B考试总结500字,月考总结作文500字(通用11篇)