Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo firmar una aplicación de Android

Cómo firmar una aplicación de Android

Android requiere que todos los programas estén firmados digitalmente antes de la instalación. Si no hay una firma digital disponible, el sistema no permitirá que el programa se instale ni se ejecute. Esto es cierto ya sea que se trate de un emulador o de un teléfono real. Por lo tanto, debe configurar una firma digital para su aplicación antes de ejecutar el depurador en un dispositivo o emulador. -Todos los programas deben estar firmados, el sistema no instalará programas no firmados.

Las aplicaciones se pueden firmar mediante certificados autofirmados sin necesidad de credenciales de autorización.

El sistema solo prueba la validez del certificado de firma en el momento de la instalación; si la firma de la aplicación caduca después de la instalación, la aplicación seguirá habilitada.

Herramientas estándar: Keytool y Jarsigner se pueden utilizar para generar claves para firmar los archivos .apk de su aplicación.

Las herramientas del SDK de Android pueden firmar aplicaciones mientras se depuran. Tanto el complemento ADT como la herramienta de compilación Ant proporcionan dos modos de firma: modo de depuración y modo de liberación.

En el modo de depuración, la herramienta de compilación utiliza el programa común Keytool en el JDK para crear archivos con métodos conocidos y bloqueo de contraseña y llave. Cada vez que compila, la herramienta firma el archivo .apk de su aplicación con la clave de depuración. Dado que se conoce la contraseña, la herramienta no necesita solicitar el candado y la llave cada vez que se compila.

Cuando la aplicación está depurada y lista para su lanzamiento, se puede compilar en modo de lanzamiento, donde la herramienta no firmará el archivo .apk. Debe usar Keytool para generar la clave y la clave, y luego usar la herramienta JDK Jarsigner para firmar el archivo .apk. Lo primero que debe hacer es configurar la variable de entorno JAVA_HOME para indicarle al SDK cómo encontrar Keytool, o puede agregar la ruta JDK de Keytool a la variable PATH de su sistema Windows.

Al publicar una compilación, seleccione el proyecto en el panel Paquetes, haga clic con el botón derecho y seleccione Herramientas de Android, Exportar paquete de aplicaciones o haga clic en el Editor de manifiestos, vaya a la página Exportar .exe sin firmar y haga clic en Hacer clic. el botón "Exportar .exe sin firmar". O haga clic en Editor de manifiesto, busque el enlace "Exportar .apk sin firmar" en la página y exporte el archivo apk sin firmar. Después de guardar el archivo .apk, use Jarsigner y su propia clave para firmar el archivo apk. Si no tiene una clave, puede usar Keystore para crear una clave y un bloqueo. Si ya tiene una clave, como una clave pública, puede firmar el archivo .apk. También puede escribir los pasos anteriores en un archivo bat, de modo que cuando necesite firmar un archivo, solo necesite ejecutar bat.

El siguiente es un ejemplo completo de un archivo bat:

@Rem android signer //comando de comentario

@Rem echo es el formato del comando de visualización: echo [{on|off}] [mensaje ]

@echo **************************** ************* * *******************

@Rem el archivo existe formato de comando: si existe ruta nombre de archivo comando

@if existe d: firmar /MyFirstApp.keystore ir a firmar

@echo Crear archivo de firma MyFirstApp.keystore

@Rem formato de comando keytool: -alias MyFirstApp.keystore -keyalg RSA -validity 40000 -keystore MyFirstApp. keystore

@echo Iniciar firma:

@Rem jarsigner Formato de comando: Formato de comando: -salida detallada Detalles -keystore ubicación del almacén de claves -signedjar Archivo a generar Archivo a firmar Archivo de almacén de claves

p>

jarsigner -verbose -keystore MyFirstApp.keystore -signedjar MyFirstApp_signed.apk MyFirstApp.apk MyFirstApp.keystore@goto over: sign@echo Iniciar firma:

jarsigner -verbose -keystore MyFirstApp.keystore - firmadojar MyFirstApp_ firmado.apk MyFirstApp.apk MyFirstApp.keystore: over@echo **********************MyFirstApp.apk Firma completa **** ****** *******************pausa ========== ====== Lo anterior es un archivo bat completo para firmar Aplicaciones Al ejecutar este archivo bat, también debe seguir los pasos en pantalla para ingresar la información necesaria y finalmente generar un archivo de firma: MyFirstApp_signed.apk. Una vez completada la firma, es mejor comprimir el archivo, utilizando el archivo comprimido en la carpeta de herramientas en la ruta de instalación del SDK de Android. zipalign en la carpeta de herramientas está comprimido. Este archivo se usa como ejemplo. También se puede escribir como un archivo bat. El ejemplo es el siguiente:

D:\soft\android-sdk-windows\. tools\zipalign -c -v 4 MyFirstApp_zip.apkpause== ============== Reemplace D:\soft\android-sdk-windows arriba con su ruta de instalación real del SDK de Android.

Siga los pasos anteriores para firmar y comprimir y, finalmente, copie el archivo comprimido (como el archivo MyFirstApp_zip.apk en el ejemplo) a su teléfono para instalarlo y ejecutarlo normalmente.