简介

生成密钥

签名生成发布

介绍

Android 要求每个应用与开发者的数字签名密钥签署的执行权限和应用程序要求使用共享的用户ID或目标的过程。欲了解更多有关机器人安全的一般原则和签名要求,请参阅Android的安全和权限的Android开发指南一节。 Android平台的核心采用4个关键点来保持安全的核心平台组件:

•平台:一个软件包是核心平台的一部分关键。

•分享:一个是在家庭中共享/接触过程中的事情的关键。

•媒体:一个软件包的一部分是媒体/下载系统的关键。

releasekey:默认的关键,如果不另有规定

这些密钥用于签名的申请与release Image分离,在Android编译系统i不使用签名的。Build系统提供签名的testkeys build/target/product/security/。由于testkeys是标准的Android开源分配部分,他们不应该被用于生产设备。相反,设备制造商应为shipping release builds生成pravite密钥,

生成密钥

每个产品的设备制造商的密钥必须存放在vendor/<vendor_name>/security/<product_name> 其中<vendor_name><product_name>代表的制造商和产品名称。为了简化密钥创建,复制一个文件名为mkkey.sh下面的脚本来此目录。要自定义密钥,更改AUTH开始的行来反映贵公司的正确的信息:

#!/bin/sh
AUTH='/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com'
if [ "$1" == "" ]; then
 echo "Create a test certificate key."
 echo "Usage: $0 NAME"
 echo "Will generate NAME.pk8 and NAME.x509.pem"
 echo " $AUTH"
 exit
fi
openssl genrsa -3 -out $1.pem 2048
openssl req -new -x509 -key $1.pem -out $1.x509.pem -days 10000 /
 -subj "$AUTH"
echo "Please enter the password for this key:"
openssl pkcs8 -in $1.pem -topk8 -outform DER -out $1.pk8 -passout stdin

mkkey. mkkey.sh是一个帮助脚本来生成平台的密钥。注意:您输入的密码将在您的终端窗口可见。请注意您使用的密码,你会需要他们签署发布版本。

要生成所需的4平台的密钥,运行mkkey.sh四次指定为每个key name和密码:

sh mkkey.sh platform # enter password
sh mkkey.sh media # enter password
sh mkkey.sh shared # enter password
sh mkkey.sh release # enter password

你现在应该有你的产品的新密钥。

签署建立发布

签署建立一个版本是一个两步的过程。

1。签署的所有建立单独的部分。

2。把零件组合成Image文件。

签名APP

使用build/tools/releasetools/sign_target_files_apks签署target_files包。该target_files包默认情况下不建,当你调用make你需要确保指定的"dist"的目标。例如:example:

make -j4 PRODUCT-<product_name>-user dist

上面的命令下创建文件在out/dist 称为<product_name> - target_files.zip。这是您需要的文件传递给sign_target_files_apksscript

通常你会这样运行脚本:

./build/tools/releasetools/sign_target_files_apks -d vendor/<vendor_name>/security/<product_name> <product_name>-target_files.zip signed-target-files.zip

  如果你有prebuiltpre-signed,你不想re-signed apk,你必须明确地忽略它们加入-e Foo.apk= 到每个硬软件你想忽略命令行。

sign_target_files_apks也有很多其他选项,可用于signing release builds。运行它与 -h 的作为唯一的选项来查看完整的帮助。

创建image文件

  一旦你有signed-target-files.zip,创建的image,因此您可以下面的命令把它放到设备上:

build/tools/releasetools/img_from_target_files signed-target-files.zip signed-img.zip

signed-img.zip包含所有.img文件。你可以使用fastboot更新signed-img.zip, 以便使用fastboot在设备上获取.img文件。

更多相关文章

  1. Android打电话,挂电话
  2. Android创建文件夹及文件并写入数据
  3. Android(安卓)7.1 固件预装客户应用时出现: java.lang.Unsatisfie
  4. Android应用程序线程消息循环模型分析(4)
  5. Android源码去除状态栏
  6. 导入color文件中的颜色值 android
  7. 4.1 Android如何访问资源
  8. 厚积方能薄发,通往Android封神之路的降龙十八掌
  9. NPM 和webpack 的基础使用

随机推荐

  1. Android 收集崩溃信息并上传
  2. Android 中 ListView 分页加载数据
  3. Android消息机制之同步障碍机制和应用
  4. Android会加速地球的毁灭?
  5. Android拍照和图片处理类应用盘点
  6. 最简洁最好用的Android记事软件 - [ 迷你
  7. 雷锋读图:两百款Android手机上的淘宝
  8. Android(安卓)button自定义显示
  9. 介绍使用Cordova和Web Starter Kit开发An
  10. 你后悔做Android了吗?