Cómo reconstruir el código fuente de Android después de realizar cambios en los archivos fuente de Android
-
28-09-2019 - |
Pregunta
Tengo código fuente de Android en mi sistema y funciona bien. Pero cuando hago algunos cambios en los archivos fuente de Android y ejecutar "marca" que no genera / actualizar los archivos Por favor, corríjanme si me equivoco,
i) el sistema debe generar un nuevo archivo system.img si se han realizado cambios en su código fuente
ii) androide kernel archivo archivo-zImage no cambia con cualquier cambio, incluso si hacemos algún cambio en el código fuente
Otra pregunta si creo una nueva carpeta dentro de la biblioteca / libcore que es recogida automáticamente al compilar. Para crear una nueva carpeta de la biblioteca fuera / libcore he añadido a su paso en /build/core/main.mk y el archivo .classpath. Aún así no es para ser recogido durante la compilación. Por favor alguien puede confirmar que todos tenemos que hacer cambios para añadir un nuevo archivo de biblioteca fuera / libcore
Saludos, Yogesh
Solución
Esto depende de repositorio exacto que usted ha comprobado hacia fuera. Sin embargo, para la mayoría de ellos la siguiente receta funcionará:
http://source.android.com/source/download.html
Tenga en cuenta, si está utilizando la generación más reciente que debe tener el sistema de 64 bits
ACTUALIZACIÓN: Por alguna razón la página anterior le faltan algunos pasos vitales. Así que aquí están
Después de hacer 'repo sync' paso (tarda un tiempo, pero supongo que lo hizo ya que tienes los archivos de origen), haga lo siguiente:
$ . build/envsetup.sh
$ lunch
El último comando le dará una lista de opciones para la plataforma que desea construir. Si usted quiere construir para el emulador elegir-spa completo. De lo contrario elegir uno para el proveedor del dispositivo específico.
Después de elegir la marca de plataforma seguro de que hacer maquillaje completo de todo lo primero, ya que toda la plataforma Android es muy interdependientes. Así que hay que asegurarse de que tiene todos los componentes.
En el desarrollo se puede construir componentes individuales bastante rápido. Al utilizar el comando siguiente:
mmm <component_directory_name>
Por ejemplo:
mmm external/rsync
Además, el sistema de construcción no cambia poner la salida y los archivos intermedios con el código fuente. Todo va en el directorio de salida / meta.
Otros consejos
Depende del cambio que desea realizar.
En un caso fácil, si el cambio es local (por ejemplo, la adición de algunas nuevas líneas en un archivos fuente de Android existentes llamados xxx.c
), que puede funcionar fácilmente:
mm -B (under the root directory of xxx.c)
adb remount
adb sync
adb reboot
En otros casos, por ejemplo, se crea un nuevo servicio del sistema para reemplazar a la antigua que se inicia en el momento de arranque, como se muestra en el archivo init.rc
. Entonces, es probable que necesite:
- archivo de actualización
init.rc
- Construir toda fuente de Android
- Flash nueva imagen