Ahora lo que pasa con el AOSP es que el código fuente puro no incluye propiedades de hardware específicas del dispositivo. En términos sencillos, el hardware como su cámara y GPU no funcionará 'listo para usar' cuando se desarrolle con el AOSP. De hecho, su dispositivo ni siquiera arrancará sin estos binarios de hardware.
Si está desarrollando para un teléfono de la marca Google (Pixel, Nexus, etc.), puede encontrar los archivos binarios de hardware directamente de Google , y esta guía lo guiará para obtenerlos y construirlos en su ROM. Sin embargo, si está desarrollando una ROM para un teléfono de marca (Sony, Samsung, etc.) ... bueno, bendiga su corazón, porque le espera un viaje.
Algunos los fabricantes tienen sus propios proyectos de código abierto o lanzan herramientas de desarrollo para futuros desarrolladores, mientras que otros fabricantes mantienen estrictos sus códigos de propiedad. A continuación, se muestra una breve lista de proyectos de código abierto de los fabricantes más populares:
Centro de versiones de código abierto de Samsung
Sony Developer World
Soporte de Lenovo
Centro de versiones de código abierto de Huawei
Desarrolladores de Motorola
Con eso fuera del camino, continuemos asumiendo que estamos creando una ROM para la experiencia más básica de Android, para un dispositivo Google Pixel. Con este conocimiento en su haber, podrá diversificarse por su cuenta y comenzar a desarrollar versiones personalizadas de ROM de fabricantes específicos.
Requisitos para esta guía:
- Proyecto de código abierto de Android
- Teléfono Pixel XL o un emulador de Android para Linux
- Sistema operativo Linux de 64 bits - Ubuntu o Linux Mint son las distribuciones más amigables para los novatos, mientras que BBQLinux fue desarrollado específicamente con los desarrolladores de Android en mente.
- Pitón
- Una computadora robusta (¡compilar código requiere mucha memoria y espacio!)
Configuración de su entorno de construcción
Comencemos por configurar el emulador de Android en su máquina Linux. Ya sea que tenga o no un dispositivo Google Pixel XL, siempre es más seguro probar su nueva ROM en un emulador de Android antes de flashearlo en su dispositivo. Mi favorito personal es Genymotion, así que lo guiaré a través de la instalación de ese emulador en particular. Sin embargo, también puede consultar esta guía ' Los mejores emuladores de Android ”, Ya que la mayoría de ellos también tienen compatibilidad con Linux.
Dirígete al Sitio web de Genymotion , registre una cuenta, verifíquela por correo electrónico y descargue el ejecutable en su escritorio Linux.
Ahora abra una terminal de Linux y escriba:
Chmod + x genymotion-xxxxx.bin (reemplace xxxx con el número de versión en el nombre del archivo)
./genymotion-xxxxxx.bin
prensa Y para crear el directorio Genymotion. Ahora escribe en la terminal:
cd genymotion && ./genymotion
Ahora le pedirá que comience el proceso de instalación, así que siga haciendo clic en Siguiente hasta llegar a la ventana Agregar dispositivos virtuales. Seleccione 'Pixel XL' en la opción Modelo de dispositivo y luego complete la instalación. Puede probar el dispositivo virtual si lo desea, básicamente será como tener un teléfono Pixel XL en su escritorio.
Ahora configuremos Python:
$ apt-get install python
Ahora necesitamos configurar el kit de desarrollo de Java en su máquina Linux. Abra la terminal de Linux y escriba los siguientes comandos:
$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk
Ahora deberá configurar el sistema Linux para permitir el acceso a dispositivos USB. Ejecute el siguiente código en la terminal de Linux:
Esto descargará el archivo 51-android.txt requerido que permite el acceso al dispositivo USB mencionado anteriormente. Abra el archivo .txt y modifíquelo para incluir su nombre de usuario de Linux, luego coloque el archivo .txt en la siguiente ubicación: (como el usuario root ). Ahora conecte su dispositivo a su computadora a través de USB para que las nuevas reglas entren en vigencia automáticamente.
Descarga de la fuente de Android
El AOSP está alojado en Git, por lo que usaremos una herramienta llamada Repo para comunicarnos con Git.
Primero necesitamos configurar una carpeta / bin en su directorio de inicio. Escriba los siguientes comandos en la terminal de Linux:
$ mkdir ~ / bin
$ RUTA = ~ / bin: $ RUTA
Ahora descargaremos la herramienta Repo, así que escriba en la terminal de Linux:
$ curl https://storage.googleapis.com/git-repo-downloads/repo> ~ / bin / repo
$ chmod a + x ~ / bin / repo
Después de instalar Repo, ahora debemos crear un directorio vacío para guardar sus archivos de trabajo. Así que escribe esto en la terminal de Linux:
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
Ahora configuraremos Git con su nombre y dirección de correo electrónico: use una dirección de Gmail que verifique regularmente ; de lo contrario, no podrá utilizar la herramienta de revisión de código Gerrit.
$ git config –global user.name 'Su nombre'
$ git config –global user.email you@gmail.com
Ahora le diremos a Repo que extraiga el manifiesto maestro más reciente de AOSP de Git:
$ repo init -u https://android.googlesource.com/platform/manifest
Si lo hace correctamente, recibirá un mensaje de que Repo se ha inicializado en su directorio de trabajo. También encontrará un ' .repo ” directorio dentro del directorio del cliente. Así que ahora descargaremos el árbol de fuentes de Android con:
$ repo sync
Construyendo la fuente de Android
Aquí es donde entran en juego los binarios de hardware mencionados al principio de esta guía. Vayamos al Controladores AOSP y descargue los binarios de Pixel XL para Android 7.1.0 (NDE63P). Desea descargar tanto la imagen del proveedor como los componentes de hardware. Estos vienen como archivos comprimidos, así que extráigalos a su escritorio y ejecute el script autoextraíble desde la carpeta raíz. Elija instalar los binarios en la raíz del WORKING_DIRECTORY que creamos anteriormente.
Ahora escribe en tu terminal de Linux:
$ hacer una paliza
$ fuente build / envsetup.sh
Ahora elegiremos el objetivo para construir, así que escriba:
$ lunch aosp_marlin-userdebug
$ setpaths
$ make –j4
Allí, ahora hemos 'construido' una ROM de Android desde la fuente. Así que probémoslo en el emulador, escribiendo en la terminal:
$ emulador
Así que juega un poco en el emulador. Como puede ver, una experiencia de Android puramente básica es bastante mínima, y es por eso que los fabricantes personalizan el AOSP según sus necesidades. Vos tambien podría flashee esta ROM que acabamos de construir en su dispositivo si lo desea, pero sin agregar ninguna mejora, una experiencia de Android puramente vainilla sería algo muy aburrido.
Entonces, lo que los fabricantes suelen hacer con el AOSP es bifurcarlo, agregar sus propios binarios patentados, personalizar la interfaz de usuario, agregar un logotipo de arranque, etc. Básicamente, el fabricante solo pinta sobre la ROM de Android original, y ese será su próximo objetivo también. .
¡Estén atentos, ya que la segunda parte de esta guía incluirá la adición de fuentes, temas y una animación de inicio a su ROM!
5 minutos de lectura