Android - Introducción

Android es un sistema operativo, con soporte para ARM y x86, que utiliza el kernel Linux, librerías en Rust/C y la JVM (Java Virtual Machine) para hacer funcionar todo el sistema operativo.

Android fue desarrollado originalmente por Google, ahora siendo desarrollado por la Open Handset Alliance que la conforman; HTC, Sony, Dell, Intel, Motorola, Qualcomm, Texas Instruments, Google, Samsung, LG, T-Mobile, Nvidia, entre muchos otros.

Licenciamiento

Android está licenciado en “Apache License”, una licencia de fuente abierta (“open source”). Por lo que es normal encontrar en diversos lugares (Github, Gitlab, XDA Developers, etc) versionados (llamados ROMs) de distintas fuentes.

Distribuciones

Una distribución es todo sistema empaquetado y distribuido (de ahí el nombre) de diferentes formas, cada una con sus propias características. Generalmente se suelen encontrar diferencias pequeñas, aunque es normal (pero menos común) encontrar distribuciones con modificaciones tan profundas que a primera imagen parecen sistemas diferentes.

Acá un listado de distribuciones de Android, cada una con sus características;

  1. AOSP (Android Open Source Project)

    https://android.com/

    Es la distribución original de Android, la creada por el consorcio “Open Handset Alliance” y sin productos internos de compañia alguna.

    Así mismo, esta distribución es la considerada la “versión pura” debido a que no tiene; personalizaciones, productos internos de compañias, modificaciones internas, etc.

    Se debe tener en cuenta que el kernel de esta distribución no tiene driver alguno, por lo que para ser compatible con un dispositivo se debe encontrar una modificación adaptada a ese dispositivo.

    Su código se encuentra en este repositorio;

    • https://android.googlesource.com/platform/
  2. Lineage OS

    https://www.lineageos.org/

    Anteriormente conocido como “CyanogenMod”.

    Distribución nacida en el 2016 cuando “CyanogenMod” finalizó como proyecto. A diferencia del primero, este proyecto es comunitario de forma completa, por lo que no lo domina ninguna compañía.

    Se basa en AOSP para aplicar modficaciones que le dan muchísima más personalización y poder de control al usuario propietario del dispositivo (overclocking, control de root, etc) sin incluir bloatware (software basura; publicidad, etc) que viene con teléfonos con distribuciones modificadas por compañías.

    Así mismo aplica modificaciones en el código de AOSP, en donde generalmente se encargan de hacer modificaciones de performance (optimizaciones a todo nivel) como AudioFX, etc.

    Su código se encuentra en estos repositorios;

    • https://github.com/LineageOS/android
    • https://gitlab.com/LineageOS/android/android_system_core
  3. Android x86

    https://www.android-x86.org/

    Es una distribución de AOSP, pero se enfoca en dar soporte para la arquitectura x86_64.

    Hay que tener en consideración que no todas las apps de la Play Store tienen soporte para x86, ya que la mayoría están para ARM64. Por lo que puede ser que algunas aplicaciones no se encuentren disponibles.

    Su código se encuentra en este repositorio;

    • https://git.osdn.net/view?a=project_list;pf=android-x86