La guia dice que el resto de android/ queda sin tocar. El icono adaptativo pasa a
android/icono/, de donde lo copia sobre_oficial.sh. En la guia, mobile_settings.js,
android/icono y por que la APK lleva una huella del codigo en el versionName.
El icono es la isla de la app oficial; antes el lanzador la encogia dentro de un
circulo blanco (la oficial solo trae el PNG cuadrado) y el wrapper Gradle usaba un
hexagono amarillo. Ahora capa de fondo y capa delante, en Gradle y en sobre_oficial.sh.
La app oficial solo vuelve a extraer nodejs-project.zip si cambia
versionName.versionCode. Con el mismo commit, o con cambios sin commitear, la APK
nueva arrancaba con el backend anterior. El versionName lleva ahora una huella del
codigo.
La app Android de epsylon trae desde la 1.3.x un puente nativo de audio y
camara (.audio_bridge) para el Telefono y las Salas, y no tiene el codigo
publicado. android/scripts/sobre_oficial.sh coge su APK de la misma version,
le cambia el backend por el de la rama (con su node_modules), le pone el
paquete net.laenre.oasis (y los authorities, el permiso propio y las acciones
de llamada) para que conviva con la oficial, y la monta y firma. apktool va
con version y huella fijas.
Probado en el emulador: el Telefono ofrece llamadas y en una sala el
microfono graba y se corta al salir. README, guia, android/README y los
esquemas lo cuentan; el proyecto Gradle propio queda sin uso.