Creating Release Keys and Signing Buills
一、概要
Android , 。 , ID 。Android 。
1、platform: 。
2、shared:home/contacts 。
3、media:media/download 。
4、releasekey: , 。
iamges , Android 。 build/target/product/security/ testkeys 。 testkeys Android , , 。
、
, vendor/<vendor_name>/security/<product_name> ,<vendor_name> <product_name> 。 , mkkey.sh 。 , AUTH company 。
#!/bin/sh
AUTH='/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/[email protected]'
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.sh 。 。
4 , mkkey.sh , 。
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 。
、
build/tools/releasetools/sign_target_files_apks target_files 。 , make , ”dist”.
make -j4 PRODUCT-<product_name>-user dist
out/dist <product_name>-target_files.zip , sign_target_files_apks 。 :
./build/tools/releasetools/sign_target_files_apks -d vendor/<vendor_name>/security/<product_name> <product_name>-target_files.zip signed-target-files.zip
apk, , APK -e Foo.apk= 。
sign_target_files_apks 。 -h
。
、 image
, image 。
build/tools/releasetools/img_from_target_files signed-target-files.zip signed-img.zip
signed-img.zip .img 。 fastboot update signed-img.zip 。