Entrada fija

sábado, 29 de agosto de 2015

Añadir Apps a Build

En este tutorial os enseñaré algo bastante simple pero que os puede resultar bastante útil, que es añadir aplicaciones para que se añadan al compilar la ROM. Las añadiremos una vez descargada la source y tengamos todo listo para compilar.
Hay varios métodos y los voy a explicar todos. Empecemos:


1. Añadir Apps desde Source

El primer método de todos es mi preferido, aunque no necesariamente el más sencillo. Para incluir Apps con este método necesitaremos que sea de código abierto, y que esté disponible para su uso.

Tomaré de ejemplo Spirit2FM, que aunque no funcione siendo aplicación de sistema, es un buen ejemplo ya que tiene un código sencillo.
Lo primero que haremos será acceder y su código fuente en GitHub, que nos dejará el enlace el desarrollador de la aplicación. Tendrá un aspecto así.

Entonces descargaremos los archivos (Download zip que aparece a la izquierda) y extraemos los archivos y carpetas. Pegamos lo extraído en la carpeta de trabajo de la ROM en la ruta packages/app/Spirit2FM

*Spirit2FM lo cambias por el nombre de la app que estés usando*

Una vez copiado debemos ver si existe el archivo "Android.mk". Si no existe, lo creamos. Para ello, crea el archivo y pega lo siguiente:

                             

*nombre_app lo cambias por el mismo nombre de la carpeta (Spirit2FM en mi caso)*
*Si existe el archivo, deberás nombrar la carpeta como diga la línea package_name*

Guardamos los cambios y cerramos. Hecho esto nos dirigimos a la carpeta de nuestro dispositivo (marca/device/modelo) y abrimos el "device.mk" (en vez de device saldrá el codename de tu dispositivo) y añadiremos la siguiente línea:

                                       

En mi caso, quedaría así:

                                       

Guardar y salir. Ya estas listo para compilar la ROM con la app incluida.


2. Añadir Prebuilt APK

Este método os resultará bastante sencillo, ya que usaremos el archivo ".apk" para incluirlo en la ROM. Seguiré tomando de ejemplo Spirit2FM (aunque igualmente no sirva como app de sistema) y mi Samsung Galaxy Ace 3 (loganreltexx). Muchos tutoriales incluyen la app en la carpeta "device", sin embargo, es muy propenso a dar errores. Por ello, la añadiremos en el repositorio "vendor".

Lo primero de todo será descargar la aplicación en formato APK. Una vez obtenida, la copiaremos en la ruta vendor/samsung/loganreltexx/propietary/app/nombreapk (o la de tu dispositivo).
Una vez copiada la apk, nos dirijimos a vendor/samsung/loganreltexx y abrimos el archivo "Android.mk". Añadiremos lo siguiente:

                                             

*Si la línea "LOCAL_PATH" ya aparece, no la copiamos*
*Sustituye el "nombre app" y la ruta de la línea "src" por tus correspondientes*

Ahora nos dirigimos a device/samsung/loganreltexx y abrimos loganreltexx.mk (o lo correspondiente a tu dispositivo) y añadimos el siguiente código:

                                            

*El nombre del paquete tiene que ser siempre el mismo. También la carpeta que creamos se tiene que llamar igual*

También puede que la app que vayamos a incluir requiera sus librerías. Esto lo sabrás si al incluir la app en la build y abrirla da forzar cierre. Para añadir las libs, las extraemos de la apk con WinRar. Estarán en una carpeta llamada "armeabi".
Una vez extraídas, las copiaremos en vendor/samsung/loganreltexx/propietary/lib. Si no está la carpeta, la creamos. Ahora para que se incluyan los archivos en la build, editamos el Android.mk de antes, añadiendo este código:

                            
*Cambiamos "libtime_genoff" por el nombre del archivo lib (.so)*
*Añadiremos un código por cada archivo*

Al terminar guardamos los cambios y salimos. Ya tendremos la aplicación lista para incluir.


3. Añadir Funcionalidad Data/app

Bueno, este método no es parecido a los anteriores, ya que no añadiremos la app como de sistema, sino como app de usuario. Es decir, el usuario podrá desinstalarla y demás, como si la hubiera instalado por Google Play.
Es muy útil práctico. Útil porque si una app no funcionaba bien o daba forzar cierre al instalarla en "system" ahora funcionará (sí, por fin funciona Spirit2FM); y práctico porque el proceso se hace una vez compilada la ROM.

Para ello tendremos que tener el archivo zip de la ROM ya compilada y el archivo ".apk" que queramos incluir. Una vez tenido esto, añadiremos en el zip la carpeta data/app (las dos carpetas, es decir, la carpeta app dentro de la carpeta data) y agregamos la apk allí.

Actualizamos el zip y ahora nos dirigimos al updater-script del zip. Está en la carpeta META-INF/com/google/android
Lo abrimos con un editor y encima de la línea package_extract_dir("system", "/system"); añadiremos las siguientes líneas:

                                            

Hecho este guardamos y actualizamos el zip. Ahora, para que no te de error al instalar la ROM, deberás firmarla (sign). Puedes hacerlo siguiendo este estupendo tutorial de htcmania, o usando alguna kitchen. Si tuvieras alguna duda, no dudes en comentarla.

Una vez firmado el zip, ya estarás listo para instalar la ROM.


¡Listo! Has Agregado Una App a la Build

No hay comentarios:

Publicar un comentario