Android应用程序如何进行系统签名

有时写一个程序需要调用系统的库,如果权限不够,是用不了库里面一些方法的 。这时就需要将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 之前,否则会报错。

时间: 2024-08-14 09:22:54

Android应用程序如何进行系统签名的相关文章

Android实践 -- 对apk进行系统签名

对apk进行系统签名 签名工具 网盘下载 ,需要Android系统的签名的文件 platform.x509.pem 和 platform.pk8 这个两个文件在Android源码中的 ./build/target/product/security 目录下 具体的使用方法: java -jar signapk.jar platform.x509.pem platform.pk8 unsign.apk signed.apk 最后生成的apk就是已经进行系统签名的apk

android应用程序签名(转)

概述 Android系统要求,所有的程序经过数字签名后才能安装.Android系统使用这个证书来识别应用程序的作者,并且建立程序间的信任关系.证书不是用于用户控制哪些程序可以安装.证书不需要授权中心来签名:Android应用程序上使用自己签名的证书是完全允许且普遍的. 理解Android应用程序签名有以下几个重要点: 所有的应用程序都必须签名.系统不会安装任何一个不签名的程序. 你可以使用自己的证书来签名.不需要任何授权中心. 当你要为最终用户发布你的应用程序的时候,你必须签入一个合适的密钥.你

Android应用程序签名详解

http://blog.csdn.net/lyq8479/article/details/6401093 本文主要讲解Android应用程序签名相关的理论知识,包括:什么是签名.为什么要给应用程序签名.如何给应用程序签名等. 1.什么是签名?      如果这个问题不是放在Android开发中来问,如果是放在一个普通的版块,我想大家都知道签名的含义.可往往就是将一些生活中常用的术语放在计算机这种专业领域,大家就开始迷惑了.计算机所做的事情,或者说编程语言所做的事情,不正是在尽可能地模拟现实吗?所

Android应用程序签名详解 简介

转自: http://blog.csdn.net/lyq8479/article/details/6401093 本文主要讲解Android应用程序签名相关的理论知识,包括:什么是签名.为什么要给应用程序签名.如何给应用程序签名等. 1.什么是签名?      如果这个问题不是放在Android开发中来问,如果是放在一个普通的版块,我想大家都知道签名的含义.可往往就是将一些生活中常用的术语放在计算机这种专业领域,大家就开始迷惑了.计算机所做的事情,或者说编程语言所做的事情,不正是在尽可能地模拟现

【转】android应用程序签名

概述 Android系统要求,所有的程序经过数字签名后才能安装.Android系统使用这个证书来识别应用程序的作者,并且建立程序间的信任关系.证书不是用于用户控制哪些程序可以安装.证书不需要授权中心来签名:Android应用程序上使用自己签名的证书是完全允许且普遍的. 理解Android应用程序签名有以下几个重要点: 所有的应用程序都必须签名.系统不会安装任何一个不签名的程序. 你可以使用自己的证书来签名.不需要任何授权中心. 当你要为最终用户发布你的应用程序的时候,你必须签入一个合适的密钥.你

Android应用程序签名

Android系统要求每一个Android应用程序必须要经过数字签名才能够安卓到系统中.Android通过数字签名来标识应用程序的作者和在应用程序之间建立信任关系,这个数字签名由应用程序的作者完成,并不需要权威的数字证书签名机构认证,它只是用来让应用程序自我认证的. Android应用程序签名的影响 使用同一个签名证书,则不同签名的应用无法覆盖生成的应用程序,即使包名相同,因此,主要的签名影响有以下两点: 1.应用升级.使用相同签名的升级软件可以正常覆盖安装老版本的软件,否则,系统发现签名证书不

[转载]如何使Android应用程序获取系统权限来修改系统时间

在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间,可惜无论你怎么调用这个函数都是没用的,无论模拟器还是真机,在logcat中总会得到"Unable to open alarm driver: Permission denied ".这个函数需要root权限或者运行与系统进程中才可以用. 本来以为就没有办法在应用程序这一层改系统时间了,后来在网上搜了好久,知道这个目的还是可以达到的. 第一个方法简单点,不过需要在

Android应用程序签名过程和解析过程分析

在正式解释Android应用程序签名过程之前,作为铺垫,还得先讲讲最基本的一些概念. 非对称加密算法 非对称加密算法需要两个密钥:公开密钥(简称公钥)和私有密钥(简称私钥).公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密:如果用私钥对数据进行加密,那么只有用对应的公钥才能解密.因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法. 非对称加密算法是数字签名和数字证书的基础,大家非常熟悉的RSA就是非对称加密算法的一种实现. 消息摘要算法 消息摘要算法(Mes

[转]用Android自带的signapk.jar 签名应用程序

在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间,可惜无论你怎么调用这个函数都是没用的,无论模拟器还是真 机,在logcat中总会得到"Unable to open alarm driver: Permission denied ".这个函数需要root权限或者运行与系统进程中才可以用.         本来以为就没有办法在应用程序这一层改系统时间了,后来在网上搜了好久,知道这个目的还是可以达到的.