Robotium_创建自己的证书文件以及为apk/zip文件签名
来源:互联网 发布:nba2k16罗伊捏脸数据 编辑:程序博客网 时间:2024/05/14 03:41
原文链接:How to Sign Android APK or Zip Files
声明:本文欢迎转载,但转载时请注明来源。
如果你只是想知道如何签名及下载签名工具,请直接看“如何使用SignApk.jar来为一个apk或zip文件签名”部分。要创建自己的证书请从头看起。
准备知识:
当你要发布一个软件或是自制的ROM时,你就需要一个使用了私钥的证书来为.apk或.zip文件进行签名。Android系统使用证书来识别软件作者和软件之间所建立的认证关系。做这个事情最经典的方式就是用keytool创建证书,然后使用jarsigner进行签名。但是本教程则会提供一个对于大多数人来说更为容易的方法,那就是使用一个名为SignApk.jar的工具。
SignApk.jar是一个已包含在Android平台源码包中的工具,你可以在本贴的附件中下载。如果要使用SignApk.jar,你需要创建一个带有对应证书/公钥的私钥。而你可以使用Openssl来创建私钥/公钥对。在Unix/Linux系统中使用Openssl相对来说比较容易。对于Windows用户,你可以在本贴附件或此链接中下载Windows版本的Openssl。
如何使用OpenSSL创建私钥/公钥对(也就通常说的证书文件,有误勿怪)(Windows版本)
下载附件中的openssl-0.9.8k_WIN32.zip
将下载到的压缩包解压到你电脑上的任意位置(例如:C:\OpenSSL)
在OpenSSL\bin文件夹下按顺序输入(使用CMD命令行工具,其中第2步会需要你输入一些信息,见图):
1、openssl genrsa -out key.pem 1024
2、openssl req -new -key key.pem -config C:\OpenSSL\openssl.cnf -out request.pem
3、openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem
4、openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt
提示:如果你的recovery不具备签名校验切换功能,那么用你自己生成的证书文件来给ROM签名,会提示签名校验失败。因为目前几乎所有的第三方recovery中所带的私钥都是testkey的。(附件中的GoAPK.zip里面所包含的证书文件已更新为testkey)
如何使用SignApk.jar来为一个apk或zip文件签名:
下载附件中的GoAPK.zip
将下载到的压缩包解压到你电脑上的任意位置(例如:C:\GoAPK)
如果你的电脑上还没有安装JAVA环境,请下载并进行安装。
(如果你创建了自己的私钥/公钥对)复制certificate.pem和key.pk8到你解压得到的GoAPK文件夹中
使用CMD命令行工具cd到GoAPK文件夹,然后输入:(对于我提供的包,只需要将要签名的文件放在GoAPK文件夹中,然后拖至对应的批处理文件上即可)
java -jar signapk.jar certificate.pem key.pk8 your-app.apk your-signed-app.apk
或是
java -jar signapk.jar certificate.pem key.pk8 your-update.zip your-signed-update.zip
注意:
如果你不想要去创建属于你自己的私钥/公钥对,你可以直接使用我在GoAPK.zip中所提供的。
openssl-0.9.8k_WIN32.zip
GoAPK.zip
- Robotium_创建自己的证书文件以及为apk/zip文件签名
- Android 创建自己的证书文件,使用signapk.jar为apk以及zip文件签名
- jarsigner 用自己的签名文件签名apk
- .apk 应用签名文件(.keystore)的生成 --- 证书
- jarsigner为apk文件签名
- android 为apk文件签名
- Android创建私钥并为APK文件签名
- APK文件没有数字签名证书
- apk文件的签名
- Android创建私钥并为APK文件签名的相关命令及图形化方式
- Robotium_无证书apk包添加证书
- CAB文件打包以及制作证书签名
- apk文件反编译以及签名打包
- apk文件的重新签名
- apk文件的重新签名
- apk文件的签名过程
- 为安卓.apk文件签名
- 如何用自签名证书为.sis文件签名
- C#中Md5给密码加密
- rpm
- 查询数据库中所有表占用空间的语句
- Nop-Profiler的改进方向,通过Miniprofiler设置仅对某些条件下的访问开放profiler trace<七>
- simplescalar under Ubuntu/在Ubuntu10.04下安装simplescalar
- Robotium_创建自己的证书文件以及为apk/zip文件签名
- 风雨20年:我所积累的20条编程经验
- Qzone背后的故事:沉甸甸的爱,沉甸甸的疼
- 11gR201创建数据库时遭遇ORA-19202和ORA-31154的错误
- Nop -关于Nopcommerce中的短消息模块<八>
- U盘的热拔插/自动挂载跟linux2.6 kernel、 udev、 hal、 dbus 、gnome-mount 、thunar的关系
- oracle删除表的所有数据truncate table
- python学习(一)
- UVa 10304. Optimal Binary Search Tree