启动eclipse,创建好Android工程
在打包签名Android工程的过程中,需要先选中目标工程,在工程上右键点击,然后选择【Android tools】-》【Export Signed Application Package..】。
进入签名打包管理窗口,第一步确认工程名称,点击进入下一步
选择keystore(也就是签名文件),您可以选择使用已经定义好的keystore,或者创建一个新的签名文件;
在另一篇经验中,笔者将详细介绍如何新建keystore,而在这里,我们将临时使用事先定义好的签名文件。
在选择keystore时,首先要进入存放目录,找到并选中keystore文件,然后输入密码,最后点击下一步进行操作。
在安装eclipse adt时,默认会自带一个debug.keystore文件,它的密码是:android。
如果是使用自定义的签名文件,那需要输入对应定义的密码即可
选择一个key来进行加密,密码同上;
当然读者也可以自定义一个新的key
选择APK存放目录后,点击【完成】,eclipse将自动进行打包,打包完成后,您可以在之前设定的存放目录中找到已签名的APK文件。
如果你只是想了解如何签名和下载签名工具,请直接查看“如何使用SignApk.jar为apk或zip文件进行签名”部分。如果你希望创建自己的证书,请从头开始阅读。
准备知识:
当您要发布一个软件或自制的ROM时,您需要使用一个已经使用私钥的证书来为.apk或.zip文件进行签名。Android系统使用证书来辨识软件作者和软件之间所建立的认证关系。创建证书最常见的方式是使用keytool工具,然后使用jarsigner工具进行签名。然而,本教程将提供一个对于绝大多数人来说更简单的方法,那就是使用一个名为SignApk.jar的工具。
SignApk.jar是一个已经包含在Android平台源码包中的工具,你可以在本帖的附件中下载。如果你想使用SignApk.jar,首先需要创建一个带有相应证书/公钥的私钥。你可以使用Openssl来创建私钥/公钥对。在Unix/Linux系统中,使用Openssl相对来说比较容易。对于Windows用户,你可以在本帖的附件或者通过此链接下载Windows版本的Openssl工具。
在Windows版本中,你可以使用OpenSSL来创建私钥/公钥对(也就是证书文件)。以下是创建过程的简要步骤: 步骤1:下载和安装OpenSSL 首先,你需要从OpenSSL的官方网站(https://www.openssl.org/)下载并安装合适版本的OpenSSL。 步骤2:打开命令提示符 在Windows中,按下Win+R键,输入"cmd"并按下回车键,即可打开命令提示符窗口。 步骤3:导航
下载附件中的openssl-0.9.8k_WIN32.zip
将下载到的压缩包解压到你电脑上的一个适当的位置,比如C:OpenSSL。
在OpenSSLbin文件夹下,按照以下顺序输入命令(请使用CMD命令行工具)。在第二步中,你需要输入一些信息,具体操作见附图。
1、openssl genrsa -out key.pem 1024
2. 打开命令提示符窗口,输入以下命令:openssl req -new -key key.pem -config C:OpenSSLopenssl.cnf -out request.pem。
3、执行以下命令生成证书:openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem
执行以下命令可以将PEM格式的私钥转换为DER格式的私钥: `openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt` 该命令使用OpenSSL工具,将输入文件`key.pem`中的PEM格式的私钥转换为DER格式,并将转换后的私钥保存为`key.pk8`文件。使用`-topk8`参数指定生成PKCS#8格式的私钥,`-outform DER`参数指定输出为DER格式,`-in`和`-inform PEM`参数指定输入文件为PEM格式,`-out`参数指定输出文件名为`key.pk8`,`-nocrypt`参数表示
大星星提示:如果你的recovery不支持签名校验切换功能,那么使用自己生成的证书文件给ROM签名时可能会遇到签名校验失败的提示。这是因为目前几乎所有的第三方recovery中所携带的私钥都是testkey。请注意,附件中的android.zip文件已更新为testkey证书文件。
如何使用SignApk.jar来为一个apk或zip文件签名:
下载附件中的android.zip
将下载的压缩包解压到你电脑上的任意位置(比如:C:android)
如果你的电脑上还没有安装JAVA环境,请下载并进行安装。
如果您已经生成了自己的私钥/公钥对,将certificate.pem和key.pk8文件复制到您解压得到的android文件夹中。
使用CMD命令行工具cd到android文件夹,然后输入:(对于我提供的包,只需要将要签名的文件放在android文件夹中,然后拖至对应的批处理文件上即可)
java -jar signapk.jar certificate.pem key.pk8 your-app.apk your-signed-app.apk
或是
使用Java命令行工具,通过执行以下命令来签名一个更新包(your-update.zip): java -jar signapk.jar certificate.pem key.pk8 your-update.zip your-signed-update.zip
以上是如何利用Eclipse工具打包签名AndroidApk文件的详细内容。更多信息请关注PHP中文网其他相关文章!