Подписывание Андроид сборки

From Toshiba AC100 wiki
Jump to navigation Jump to search

Как правильно подписать Андроид сборку


Файл создания ключей

Делаем скрипт который будет генерировать нужные нам ключи, со следующим содержанием:

#!/bin/sh                                                                                                               
AUTH='/C=Country/ST=State/L=City/O=Organization/OU=???/CN=Name/[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

значение AUTH меняем на свое. Потом полученным скриптом генерируем 4 ключа: releasekey, shared, media, platform

Подготовка сборки к подписанию

Собираем свою сборку следующей коммандой

$ make -j6 dist

Подписываем apk

Из корневой папки системы андроид запускаем подписывающий скрипт, на файл полученный в результате выполнения команды из предыдущего параграфа

$ ./build/tools/releasetools/sign_target_files_apks -v -e Term.apk,OTAUpdater-1.0.3.apk= -d vendor/toshiba/security/ac100 \
out/dist/cm_ac100-target_files-eng.zombah.zip out/dist/signed-cm_ac100-target_files-eng.zombah.zip
  • -d путь где лежат ключи
  • -e список apk которые не надо подписывать нашим ключом

Создаем ota пакет из подписанных apk

Также из корня

$ ./build/tools/releasetools/ota_from_target_files -v out/dist/signed-cm_ac100-target_files-eng.zombah.zip \
out/target/product/ac100/cm_ac100-ota-eng.zombah-signed.zip

1349524861