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

Материал из Toshiba AC100 wiki
Перейти к навигации Перейти к поиску

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


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

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

#!/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