Firma de Android apk odex o no firma
No se requiere firma
La forma más sencilla de generar apk es:
Siempre que haya ejecutado el proyecto de Android, vaya a la carpeta bin del archivo de trabajo. directorio. Busque el archivo apk con el mismo nombre que el proyecto. Este apk está firmado por el usuario de depuración.
Si desea firmar el apk usted mismo:
El significado de la firma
Para garantizar la identificación legal de cada desarrollador de aplicaciones y evitar que algunos desarrolladores usando Para ofuscar y reemplazar programas instalados con el mismo nombre de paquete, debemos firmar de forma única los archivos APK que publicamos para garantizar la coherencia de las versiones que publicamos cada vez (por ejemplo, las actualizaciones automáticas no dejarán de instalarse debido a versiones inconsistentes) .
2. Pasos para la firma
a. Crear clave
b. Utilice la clave generada en el paso a para firmar el apk.
3. .Operación específica
Método 1: firmar apk desde la línea de comando (principio)
Para crear una clave, debe usar keytool.exe (ubicado en jdk1.6.0_24\ directorio jre\bin), use la clave generada para firmar el apk usando jarsigner.exe (ubicado en el directorio jdk1.6.0_24\bin). Después de agregar los directorios donde se encuentran los dos software anteriores a la ruta de la variable de entorno, abra cmd. input
D:\gt;keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore/*Descripción: -genkey genera claves -alias demo.keystore alias demo.keystore - keyalg RSA utiliza el algoritmo RSA cifra la firma -validez 40000 período de validez 4000 días -keystore demo.keystore */D:\gt;jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore/*Descripción: - firma de salida detallada Información detallada: almacén de claves demo.keystore Ubicación del almacén de claves: jar firmado demor_signed.apk demo.apk demo.keystore Firma formal Los tres parámetros son el archivo demo_signed generado después de la firma, el archivo demo.apk que se va a firmar y el almacén de claves. .keystore.*/
Nota: El demo.apk en el directorio bin del proyecto de Android ha sido firmado por el usuario de depuración de forma predeterminada, por lo que no puede utilizar los pasos anteriores para firmar el archivo nuevamente. Los pasos correctos deben ser: hacer clic derecho en el proyecto-gt; el apk exportado por Anroid Tools-Export Unsigned Application Package se firma siguiendo los pasos anteriores.
Método 2: use Eclipse para exportar el apk firmado
Eclipse puede exportar directamente el apk final con firma, lo cual es muy conveniente y recomendado. Los pasos son los siguientes:
Paso uno: Exportar.
Paso 2: cree el almacén de claves, ingrese la ubicación de exportación del almacén de claves y la contraseña, y recuerde la contraseña, que se usará la próxima vez. Utilice el almacén de claves existente.
Paso 3: Complete la información del almacén de claves, complete algunas contraseñas del archivo apk, el período de uso y la información de la unidad organizativa.
Paso 4: Genera un archivo apk firmado y listo.
Paso 5: Si la versión se lanza la próxima vez, utilice el almacén de claves generado anteriormente para volver a firmar.
Paso 6: ¡Siguiente, Siguiente, final!
Método 3: use IntelliJ IDEA para exportar una apk firmada
Los pasos del método son básicamente los mismos que los de Eclipse. La ruta de operación aproximada es: menú Herramientas-gt; Exportar apk firmado.
4. Después de firmar, use zipalign (alineación de compresión) para optimizar su archivo APK.
La apk sin firmar no se puede utilizar ni optimizar. Google recomienda utilizar la herramienta zipalign.exe (ubicada en el directorio android-sdk-windows\tools) para optimizar el apk firmado:
D:\gt; zipalign -v 4 demo_signed.apk final.apk
Como arriba, zipalign puede alinear los datos sin comprimir en el archivo apk en un límite de 4 bytes (4 bytes es un buen valor de rendimiento), de modo que el sistema Android pueda usar mmap()( Verifique el propósito de esta función usted mismo) La función lee archivos y puede obtener un mayor rendimiento en la lectura de recursos.
PD: 1. La alineación en un límite de 4 bytes significa que, generalmente, Said, se refiere al resultado de la El compilador lee 4 bytes como una unidad. De esta manera, la CPU puede acceder a las variables de manera eficiente y rápida (desalineada que antes).
2. El origen de la alineación: la máquina virtual Davlik en el sistema Android utiliza su propio formato propietario DEX. La estructura de DEX es compacta. Para mejorar el rendimiento en tiempo de ejecución, puede utilizar más ". alineación" Mayor optimización, pero el tamaño generalmente aumentará.
5. El impacto de las firmas en tu App.
No puedes crear una sola aplicación. Es posible que tengas un gran proyecto estratégico. Si quieres involucrarte en todas las áreas de la vida, servicios, juegos y sistemas, no puedes crear una sola. APP. Google Se recomienda que utilice el mismo certificado de firma para todas sus aplicaciones.
Al utilizar su propio certificado de firma, nadie puede sobrescribir su aplicación, incluso si el nombre del paquete es el mismo, por lo que el impacto es:
1) Actualización de la aplicación. La actualización del software con la misma firma normalmente puede sobrescribir la versión anterior del software. De lo contrario, el sistema comparará y encontrará que el certificado de firma de la nueva versión no coincide con el certificado de firma de la versión anterior y no permitirá que la nueva versión. instalarse exitosamente.
2) Modularización de aplicaciones. El sistema Android permite que la misma aplicación se ejecute en el mismo proceso. Si se ejecutan en el mismo proceso, son equivalentes a la misma aplicación, pero puede actualizarlas por separado. Esta es una idea modular a nivel de aplicación.
3) Permitir compartir código y datos. Android proporciona una etiqueta de permiso basada en firmas. A través de las configuraciones permitidas, podemos lograr acceso y compartir entre diferentes aplicaciones, de la siguiente manera:
AndroidManifest.xml:lt;permission android:protectionLevel="normal" /gt;
El La etiqueta ProtectionLevel tiene 4 valores: normal (valor predeterminado), peligroso, firma, firmaOrSystem. En pocas palabras, lo normal implica un riesgo bajo y todas las aplicaciones no pueden acceder ni disfrutar de esta aplicación.
Peligroso es un alto riesgo y todas las aplicaciones pueden acceder y disfrutar de esta aplicación. Firma significa que las aplicaciones con la misma firma pueden acceder y disfrutar de esta aplicación. SignatureOrSystem significa que las aplicaciones en la imagen del sistema y las aplicaciones con la misma firma pueden acceder y disfrutar de esta aplicación. Google recomienda no usar esta opción porque la firma es suficiente. Generalmente, este permiso se usará en una imagen.** *Disfruta de algunos. características específicas.