`
dss16694
  • 浏览: 148377 次
社区版块
存档分类
最新评论

给系统apk签名

 
阅读更多

1.使用platform密钥对apk进行签名

 

1.1.进入<Android_Source_Path>/build/target/product/security,找到【platform.pk8】和【platform.x509.pem】系统密钥。
1.2.进入<Android_Source_Path>/build/tools/signapk找到SignApk.java,运行javac编译成SignApk.class
1.3.执行命令java com.android.signapk.SignApk platform.x509.pem platform.pk8 input.apk output.apk

至此,完成。

 

2. 对1的补充:

<Android_Source_Path>/build/target/product/security下有多对密钥,详细如下:

The following commands were used to generate the test key pairs:

  development/tools/make_key testkey  '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com'
  development/tools/make_key platform '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com'
  development/tools/make_key shared   '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com'
  development/tools/make_key media    '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com'

The following standard test keys are currently included:

testkey -- a generic key for packages that do not otherwise specify a key.
platform -- a test key for packages that are part of the core platform.
shared -- a test key for things that are shared in the home/contacts process.
media -- a test key for packages that are part of the media/download system.

These test keys are used strictly in development, and should never be assumed
to convey any sort of validity.  When $BUILD_SECURE=true, the code should not
honor these keys in any context.


signing using the openssl commandline (for boot/system images)
--------------------------------------------------------------

1. convert pk8 format key to pem format
   % openssl pkcs8 -inform DER -nocrypt -in testkey.pk8 -out testkey.pem

2. create a signature using the pem format key
   % openssl dgst -binary -sha1 -sign testkey.pem FILE > FILE.sig

extracting public keys for embedding
------------------------------------
it's a Java tool
but it generates C code
take a look at commands/recovery/Android.mk
you'll see it running $(HOST_OUT_JAVA_LIBRARIES)/dumpkey.jar

 

 

3.对3的补充:

在运行第三步的命令前,请在你当前的工作目录下新建如下结构的文件夹:com.android.signapk,然后将第二步编译生成的SignApk放入该目录下。或者也可以将SignApk.java的package声明删除后再运行javac编译。

 

命令java com.android.signapk.SignApk platform.x509.pem platform.pk8 input.apk output.apk

不单可以对apk文件进行重签名,也可以对所有的zip文件进行重签名,包括ROM文件。

 

milestone的CM7相应文件地址为:https://github.com/nadlabak/android_build/tree/gingerbread/tools/signapk

分享到:
评论

相关推荐

    Windows版本 Android Apk签名工具

    本篇将详细讲解Windows版本的Android Apk签名工具及其相关知识。 一、Android应用签名的重要性 Android系统要求每个发布到市场的APK文件都必须有一个数字证书签名。这个签名用于验证应用程序的开发者身份,确保应用...

    android apk 签名工具 通过该工具可替换系统APK

    5. **系统APK签名**:对于替换系统映像中的APK,签名必须与系统APK相同。这意味着你需要获得原始系统的证书,并使用该证书对新APK进行签名。 在实际操作中,要替换系统映像中的APK,你可能还需要使用其他工具,如...

    android10 apk签名文件

    在Android系统中,APK签名是一个至关重要的过程,它确保了应用的完整性和开发者身份的验证。在Android 10中,这个过程没有本质的变化,但随着系统的更新,签名文件的作用和安全要求更加严格。本篇文章将深入探讨...

    APK万能签名工具

    在Android系统中,每个APK文件都有一个数字签名,这个签名用于验证应用程序的来源和完整性,确保应用在安装时的安全性。当用户从网上下载APK文件,尤其是经过第三方修改过的版本,原有的签名可能会失效,导致安装时...

    windows下android apk签名工具

    在Android应用开发中,APK签名是一个至关重要的步骤,它确保了应用的完整性和来源的可信性。在Windows环境下,开发者通常使用特定的工具来对APK进行签名,以使其能够在Android设备上顺利安装和运行。本文将详细介绍...

    查看apk签名工具.rar

    APK签名是一个至关重要的步骤,它确保了应用的完整性和开发者身份的验证。本资源"查看apk签名工具.rar"提供了一个实用的工具,能够帮助开发者或者用户方便地查看APK的签名信息。 首先,我们需要理解APK签名的目的。...

    apk签名工具

    "apk签名工具"是一种专门用于对APK文件进行签名的工具。在描述中提到的命令行操作展示了如何使用这个工具进行签名过程。下面我们将详细解释这个过程: 1. **Java运行环境**:首先,该过程依赖于Java环境,因为`java...

    apk签名工具1111

    在Android开发过程中,APK签名是一个至关重要的步骤,它确保了应用的完整性和开发者身份的验证。"apk签名工具1111" 提供了一种便捷的方式,让我们能够轻松地为自定义ROM或其他应用程序签名。下面,我们将深入探讨APK...

    Android Apk签名工具

    在Android开发过程中,Apk签名是一个至关重要的步骤,它确保了应用的安全性和完整性。本文将深入探讨Android Apk签名工具的使用,以及它在构建和发布Android应用过程中的作用。 首先,我们需要理解什么是Apk签名。...

    Android系统签名APK

    APK签名的过程主要包括以下几个步骤: 1. **生成密钥对**:首先,开发者需要使用密钥生成工具(如Java的keytool)创建一个包含公钥和私钥的密钥对。私钥用于签名,而公钥则用于验证签名。 2. **构建APK**:开发...

    Android apk签名批处理脚本

    APK签名是Android安全模型的一部分,它通过数字签名技术对APK进行验证,保证应用未经篡改,并且可以追溯到开发者。Android系统在安装APK时会检查签名,如果签名无效或缺失,系统将不允许安装。 批处理脚本是一种...

    android 对于apk签名汇总

    在Android系统中,APK签名是一项至关重要的过程,它确保了应用的安全性和完整性。APK是Android应用程序的打包格式,包含了所有的代码、资源文件以及元数据。本文将深入探讨APK签名的概念、目的、流程以及相关工具的...

    微信工具apk签名获取

    本话题主要涉及“微信工具apk签名获取”,这是一个官方提供的帮助开发者获取APK签名的工具。 首先,我们来理解一下什么是APK签名。在Android系统中,每个安装到设备上的应用程序都需要一个数字签名,这是为了确保...

    android apk签名工具

    这个过程涉及到了签名工具,正如标题所示,“Android APK签名工具”正是用于这个目的。当APK的数字签名过期或者在反编译修改了APK内部文件后,就需要用到这样的工具来重新签名。 签名的过程主要包括以下几个关键...

    APK签名工具.zip

    APK签名工具是Android开发过程中不可或缺的一环,用于确保应用的完整性和安全性。在Android平台上,每个可安装的APK文件都必须经过签名才能在设备上运行。这主要是因为签名能够验证应用程序的开发者身份,保证代码...

    APK签名解析示例

    例如,如果APK签名不匹配,更新时Android系统将不允许覆盖安装,这就需要开发者检查签名过程是否正确。 总的来说,APK签名是Android应用生命周期中不可或缺的一环,它为用户提供了一种信任机制,确保了应用的完整性...

    apk签名工具文件

    本文将深入探讨“apk签名工具文件”及其在安卓APK文件签名过程中的作用。 首先,理解APK签名的重要性至关重要。签名的主要目的是验证应用程序的来源,确保其未经篡改,并允许系统在安装时执行权限检查。签名还确保...

    安卓系统apk签名工具

    本文将深入探讨“安卓系统apk签名工具”的概念、作用以及如何使用。 首先,我们要明白什么是APK。APK是Android应用程序的包文件格式,包含了应用的所有组件,如代码、资源和元数据。当开发者完成应用的开发和测试后...

    开心超级签系统源码 Java超级签名系统apk分发系统源码

    【标题】"开心超级签系统源码 Java超级签名系统apk分发系统源码"涉及到的主要知识点是Android应用的签名机制、Java编程以及应用分发。 首先,我们需要理解Android应用的签名机制。在Android系统中,每个应用在安装...

    apk签名工具apktool

    首先,我们需要理解APK签名在Android系统中的重要性。APK是Android应用程序的安装包,它包含了应用程序的所有代码、资源和元数据。在发布或安装到设备之前,APK必须经过签名,以验证其来源和完整性,确保应用未被...

Global site tag (gtag.js) - Google Analytics