Red de conocimiento informático - Material del sitio web - Cómo modificar la producción del paquete de tarjetas magnéticas Tutorial de producción del paquete de tarjetas magnéticas de Android

Cómo modificar la producción del paquete de tarjetas magnéticas Tutorial de producción del paquete de tarjetas magnéticas de Android

En primer lugar, una declaración:

Según esta práctica, si hay algún problema con tu teléfono móvil, ¡no seré responsable!

Los amigos que dominan bien el inglés pueden consultar directamente el sitio web oficial de referencia en inglés:

Los amigos que solo usan el código fuente de Android para realizar algunos experimentos simples pueden consultar el siguiente sitio web:

Hablando del paquete flash de Android, suena misterioso, pero en realidad es solo un paquete zip firmado digitalmente. Si desea crear su propio paquete flash, debe comprender el principio de funcionamiento básico del paquete flash, incluso comenzando primero desde el sistema Android:

Después de que se inicie el sistema Android, primero realizará algunas tareas de hardware. -pruebas, etc. Operaciones, una vez completadas estas operaciones (al menos debe saber que la máquina actual no tiene energía), verificará el estado de los botones actuales del teléfono móvil (), y el siguiente paso es el siguiente llamado interruptor de modo flash. El siguiente paso es el llamado cambio de modo flash. Diferentes teléfonos Android tienen diferentes combinaciones de botones para ingresar al modo flash. Si el estado del botón está en la combinación flash, entonces el sistema llamará a un programa llamado recuperación dentro de la ROM (esto). es el llamado modo flash). Este es el llamado programa flash, que es solo un programa de herramienta utilizado para verificar la integridad del paquete flash y la legalidad de la firma digital. no hay problema con la legalidad de la firma digital, y luego el programa de recuperación descomprimirá el paquete flash y luego escribirá los archivos del paquete flash en la ROM para completar el proceso de flash si no hay ningún modo flash marcado en el botón, el sistema creará un disco de memoria, comenzará a cargar el sistema de archivos correspondiente desde la ROM y copiará los archivos relevantes a la ROM. Luego, el sistema creará un disco de memoria, comenzará a cargar el sistema de archivos correspondiente desde la ROM y copiará el correspondiente. Copie los archivos a la ROM y luego el sistema creará un disco de memoria, comenzará a cargar el sistema de archivos correspondiente desde la ROM y copiará los archivos relevantes a la ROM. El sistema creará un disco de memoria, comenzará a cargar el sistema de archivos correspondiente desde la ROM, copiará los archivos relevantes al disco de memoria, iniciará Linux, luego iniciará la máquina virtual dalvik y luego creará un proceso de trabajo para cargar y ejecutar el marco. y luego verá la pantalla de espera. Por supuesto, suceden muchas cosas en este proceso y se inician muchos servicios. Para simplificar el proceso de inicio, solo lo explicaré aquí. Los amigos interesados ​​​​pueden comparar y aprender con el proceso de inicio de Linux.

Ahora, para resumir, el paquete flash es en realidad un paquete de compresión de archivos ROM. Después de ingresar al modo flash, el programa de recuperación escribirá los archivos en el paquete flash en el área de almacenamiento de la ROM, reemplazando los originales. los archivos del área de almacenamiento ROM; la próxima vez que inicie el teléfono, los archivos recién reemplazados se cargarán desde la ROM y se utilizarán para iniciar y ejecutar el sistema. Esta es la función completa del paquete de software. Si no la comprende, puede leerla una y otra vez. ¡La esencia del flasheo es sobrescribir y reemplazar archivos!

Bien, ahora ya sabes que el paquete comprimido del archivo ROM es el llamado paquete flash. El proceso de creación de un paquete flash consiste en preparar estos archivos, luego recomprimirlos en un paquete zip y finalmente firmarlos con una herramienta de firma. Luego podrá probar y publicar el paquete flash. Aunque es sólo cuestión de una frase, el proceso de preparación de estos documentos es en realidad muy doloroso y largo.

¿Qué archivos hay en el paquete comprimido update.zip? imglt;--archivo, esta es la imagen del kernel generada al compilar el código fuente del kernel y luego compilada con el código fuente de Android. Esta es la imagen del kernel generada al compilar el código fuente del kernel y luego compilada con el código fuente de Android. La herramienta mkbootimg se utiliza para generar ramdisk.img. Para ahorrar tiempo, los amigos también pueden copiar otros paquetes flash de Internet y usarlos.

META-INFlt; - Directorio, este directorio se crea manualmente y se utiliza principalmente para almacenar el script de actualización update-script (el contenido de este script está relacionado con muchos archivos contenidos en el directorio del sistema) y para guarde los archivos apk. Algunos de los paquetes están firmados.

systemlt;--directory, que es el código fuente de la plataforma generado al compilar android.

De hecho, la mejor manera de aprender es descomprimir los paquetes update.zip disponibles actualmente. Internet. Luego léalos y analícelos uno por uno, realice modificaciones e intente crear su propio paquete flash.

Para boot.img, la idea básica es compilar el código del kernel de Android, generar la imagen del kernel y luego usar mkbootimg. Los amigos interesados ​​pueden consultar los siguientes dos sitios wiki:

Los siguientes métodos se realizan ocasionalmente en Linux (slackware 13.1):

(1) Descargue y compile el código fuente de Android, específicamente No entraré en detalles sobre el proceso.

Si no conoce el comando de sincronización del repositorio, puede consultar los artículos en línea sobre la descarga y compilación del código fuente de Android. Los artículos son muy ricos. Antes de compilar, asegúrese de seleccionar su plataforma, ¡los controladores para diferentes plataformas son diferentes! Se puede acceder a estos parámetros mediante:

$ cd android-src lt;----Ingrese al directorio del código fuente de Android

$ .build/envsetup.sh lt;--- -Establezca las variables de entorno después de ejecutar, puede ingresar el comando de ayuda para ver cuántos comandos útiles y convenientes ha proporcionado el equipo de Google. Esto nos será muy útil para modificar el código y volver a compilarlo.

$ lunch generic-eng lt;-- Comience a configurar las opciones de compilación del código fuente de Android

Después de ejecutar el comando anterior, verá el siguiente resultado:

wayne@wayne:~/android-strc$ lunch generic-eng

= ========================= === ================

PLATFORM_VERSION_CODENAME=REL

PLATFORM_VERSION=2.1-update1

TARGET_ PRODUCT =genérico

TARGET_BUILD_VARIANT=eng

TARGET_SIMULATOR=false

TARGET_BUILD_TYPE=liberación

TARGET_ARCH=arm

HOST_ARCH =x86

HOST_OS=linux

HOST_BUILD_TYPE=lanzamiento

BUILD_ID=ECLAIR

=========== === ================== ============

$ make -j2 lt;--sólo para Los amigos de CPU de un solo núcleo pueden probar este parámetro, los amigos de doble núcleo pueden probar -j3; de lo contrario, simplemente ejecute make honestamente.

Luego hay una larga espera, que dura entre 1 y 2 horas (incluso la máquina es más lenta después de la compilación completa, el disco duro ocupado es de aproximadamente 8 G).

(2) Una vez completada la compilación, ingrese al directorio wayne@wayne: ~/android-src/out/target/product/generic y debería ver los siguientes archivos:

android- info.txt

datos

obj <

ramdisk.img

sdk

sistema

userdata.img

clean_steps.mk

installed-files.txt

revious_build_ config.mk

root

symbols

system.img

system.img ¿Te resulta familiar aquí? Este es un directorio llamado sistema en el paquete, entonces, ¿qué hay en system.img? El contenido de system.img es en realidad el contenido de un directorio llamado system en el directorio actual, pero se guarda en el formato del sistema de archivos yaffs. Podemos usar la herramienta unyaffs para descomprimir system.img y ver si entendemos de qué estoy hablando.

Dirección de descarga del código Unyaffs:

El método de compilación en Linux es muy simple, simplemente descargue el código fuente y luego ejecute: $ gcc -c unyaffs.c

$ gcc -o unyaffs unyaffs.o

¡Puedes generar esta herramienta de descompresión de unyaffs!

El uso de unyaffs es muy simple:

$ unyaffs system.img [enter]

system.img se puede extraer a un directorio llamado system, donde Contiene todo el sistema de archivos de Android

(3) ¡Simplemente comience, no cubra todo! Empiece desde cero o, sinceramente, empiece modificando el paquete de software creado por otros expertos

Primero, copie un paquete de software descargado de Internet y luego busque un directorio para descomprimirlo (por supuesto, este es el método más seguro, no hay problema en crear estos directorios usted mismo, pero lleva más tiempo)

$ unzip xxxxxxxx.zip lt;- this xxxxxxxx.

(4 ) Reemplace el directorio del sistema original

Después de descomprimir el paquete de software, verá los dos directorios mencionados al principio de este artículo: img

META-INF

sistema

Está bien, puedes copiar el directorio del sistema a otra ruta y hacer una copia de seguridad para evitar que estos cambios causen otros problemas. Luego copie el directorio del sistema en wayne@wayne:~/android-src/out/target/product/generic al directorio de trabajo actual. Tenga en cuenta que hay una gran cantidad de "enlaces simbólicos" a la caja de herramientas en el directorio del sistema. Estos enlaces son inútiles y el script de actualización los creará automáticamente más adelante, por lo que deben eliminarse mediante un script.

Ver:

El archivo DeleteExtras.txt adjunto a esta página se ha reescrito como el script DeleteExtras.sh para eliminar estos enlaces simbólicos.

(5) Modificar update-script

Modifique el script llamado update-script en el directorio META-INF/com/google/android. Simplemente modifíquelo para eliminar algunos archivos existentes innecesarios. y agregue algunos permisos de archivos.

El objetivo principal es eliminar algunos archivos inexistentes, agregar algunos permisos de archivos y otras definiciones (la sintaxis es muy clara y fácil de entender). Prepare el instalador de apk que debe estar "preinstalado" en el paquete y cópielo en el directorio sistema/aplicación. Intente no cambiar boot.img tanto como sea posible, ya que implica problemas con el controlador y el kernel, y si algo sale mal, el paquete no se iniciará.