Red de conocimiento informático - Material del sitio web - Cómo generar una versión de lanzamiento de Android

Cómo generar una versión de lanzamiento de Android

Todo el proceso se describe en detalle a continuación.

1. Generar archivos de claves de cifrado

Para firmar en Android, es necesario generar cuatro tipos de archivos de claves.

a) clave de lanzamiento

b) medios

c) compartir

d) plataforma

Tomaremos Releasekey como ejemplo para presentar brevemente el proceso de generación.

1) Ingrese al directorio /android_src/development/tools.

/development/tools$ ls

apkcheck etc1tool hosttestlib jdwpspy makedict mkstubs

axl findunused idegen line_endings make_key Monkeyrunner Zoneinfo

2) Uso La herramienta make_key genera firmas. Utilice la herramienta make_key para generar un archivo de firma

desarrollo/herramientas$ sh make_key releasekey '/C=CN/ST=JiangSu/L=NanJing/O=Company/ OU=Department/CN=YourName/emailAddress =SuDirección de correo electrónico'

Ingrese la contraseña para "clave de liberación" (en blanco significa ninguna; la contraseña será visible):: mypassword lt; mypassword lt ------- Establecer contraseña

Crear plataforma. pk8, la contraseña es [micontraseña]

Generar clave privada RSA, modo largo de 2048 bits

.............

................................................. .......

e es 3 (0x3)

Hay una nota al margen sobre los parámetros de make_key. El primer parámetro es el nombre de la clave que se generará y el segundo parámetro es información sobre su empresa.

Los nombres de las claves son fáciles de entender. Son los cuatro tipos de claves mencionados anteriormente. Hay muchos parámetros para la información de la empresa y sus significados son los siguientes:

C. --- gt; nombre del país (código de 2 letras)

ST ---gt; nombre del estado o provincia (parte)

CN ---gt; , su nombre o nombre de host del servidor)

emailAddress ---gt; Dirección de correo electrónico de contacto

De esta manera, se genera un conjunto de claves de publicación Cómo generar el otro. tres tipos de claves Más o menos lo mismo.

Los resultados son los siguientes:

/development/tools$ ls

makedict media.pk8 mkstubs platform.pk8 releasekey.pk8shared.pk8

make_key media.x509.pem platform.x509.pem releasekey.x509.pemshared.x509.pem

*.pk8 es la clave privada generada, *.x509.pem es la clave pública , están en parejas Aparecen.

2. Copie los archivos pk8 y x509.pem al directorio proveedor/Modul/security/product_modul

/android_src/vendor/Modul/security/product_modul$ cp.... / .../.../.../development/tools/*.pk8 ./

/android_src/vendor/Modul/security/product_modul$ cp ./.../... / .../development/tools/*.pem .

Esta parte no es obligatoria, pero es una buena idea. Por motivos relacionados con el proyecto, los números de producto y modelo serán reemplazados por Modul y product_modul.

3. Regrese al directorio raíz android_src

/android_src/vendor/Modul/security/product_modul$ cd ..../.../.../...

Debes pensar que este paso es redundante e innecesario, pero resulta que es necesario mencionar este paso, porque la operación en el paso 5 debe realizarse en el directorio raíz, de lo contrario se producirá un error. . Hasta ahora he sufrido mucho.

4. Sistema de compilación

/android_src$ make -j4 PRODUCT-product_modul-user dist

Hay dos PRODUCT-product_modul-user y dist más después de parámetros, el proceso de compilación es diferente de la compilación normal. Una vez completada la compilación, se generará un archivo zip que comienza con product_modul-target_files en el directorio /android_src/dist/. Este es el sistema de archivos que necesitamos firmar.

5. Comience a firmar

android_src$ ./build/tools/releasetools/sign_target_files_apks -d seller/Modul/security/product_modul/ out/dist/product_modul-target_files.zip out/ dist/signed_target_files.zip

ERROR: no se ha especificado ninguna clave para:

CalendarWidget.apk

Contacts_Yellowpage.apk

SnsAppMain.apk

fbandroid-1.5.0.apk

AnalogClockWidget.apk

MessageWidget.apk

NewsWidget.apk

Las instrucciones anteriores se refieren al uso de la herramienta sign_target_files_apks para firmar el archivo product_modul-target_files.zip usando la clave en proveedor/Modul/security /product_modul/ y a colocar el resultado de la firma en el archivo /dist/signed_target_files.zip.

A juzgar por los resultados de la firma anteriores, la firma no fue exitosa porque algunos programas apk se firmaron o no se pueden encontrar las claves correspondientes.

Esto no es difícil para nosotros, podemos configurar el filtrado para no firmar los programas anteriores. El método específico es el siguiente:

Utilice el parámetro "-e lt;apknamegt;=" para filtrar estos programas.

android_src$ ./build/tools/releasetools/sign_target_files_apks -d seller/Modul/security/product_modul/ -e CalendarWidget.apk= -e Contacts_Yellowpage.apk= -e fbandroid-1.5.0.apk= -e AnalogClockWidget.apk= -e MessageWidget.apk= -e NewsWidget.apk= out/dist/product_modul- target_files.zip out/dist/signed_target_files.zip

Ingrese la contraseña para proveedor/módulo/seguridad/ product_modul//media keygt;----- ingrese la contraseña

Ingrese la contraseña para proveedor/Modul/security/product_modul//platform keygt;----- ingrese la contraseña

Ingrese la contraseña para proveedor/Módulo/seguridad/product_modul//platform keygt;----- ingrese la contraseña

p>

Ingrese la contraseña para proveedor/Módulo/seguridad /product_modul//releasekey keygt;lt;-----Ingrese la contraseña

Ingrese la contraseña para el proveedor/Módulo/security/product_modul/shared keygt;-----Ingrese la contraseña para el proveedor/Módulo /shared keygt;-----Ingrese la contraseña

REESCRIBIR RECUPERACIÓN/RAMDISK/default.prop:

Reemplazar: ro.build.tags=test-keys

con: ro.build.tags=release-keys

Sin firmar: CalendarWidget.apk

NO firma: Contacts_ yellowpage.apk

Firma: Mms.apk

Firma: Firma: SoundRecorder.apk

Firma:

Firmada: AccountAndSyncSettings.apk

Firmada: Cámara:. apk

............. ................................. .................................... ..

Reescribir SISTEMA/compilación. prop:

Reemplazar: ro.build.tags=test-keys

con: ro.build.tags= release-keys

Reemplaza: ro. .description= claves de prueba

con: ro.build.description= claves de liberación

Reemplaza: ro build.fingerprint= ....

........................

Reemplazo: ro.build.fingerprint=.......... .................

Firma: framework-res.apk

hecho.

En este Punto, firma de Android completada.

6. Generar archivos de imagen

android_src$ ./build/tools/releasetools/img_from_target_files out/dist/signed-target-files.zip out/dist/signed-img.zip

Crear boot.img...

Crear recovery.img...

Crear system.img...

Crear userdata.img...

Limpieza...

Completado.

Utilice la herramienta img_from_target_files para generar el archivo firmado-img.zip. El archivo firmado-img.zip contiene archivos boot.img, userdate.img, system.img, etc.

7. Descargue el archivo firmado-img.zip a través de fastboot

Actualice firmado-img.zip a través de fastboot

Puede descargar el archivo de sistema firmado al teléfono móvil a través de fastboot.