Encontré un golpe directo en la interfaz de usuario al menos con algunas cadenas de recursos en la última rama/mainline que se comprueba desde el repo por defecto que es cm-14.1
. Comenzó encontrando un repositorio que casualmente tenía las palabras ajustes y aplicación en su nombre era una pista muy fuerte para empezar. En la captura de pantalla de arriba se puede ver que la interfaz de usuario dice Root access
y eso es lo que encontramos textualmente en este archivo de recursos.
<!-- Setting checkbox title for root access -->
<string name="root_access">Root access</string>
<string name="root_access_warning_title">Allow root access?</string>
<string name="root_access_warning_message">Allowing apps to request root access is very dangerous and could compromise the security of your system!</string>
<string name="root_access_none">Disabled</string>
<string name="root_access_apps">Apps only</string>
<string name="root_access_adb">ADB only</string>
<string name="root_access_all">Apps and ADB</string>
https://github.com/CyanogenMod/android_packages_apps_Settings/blob/c585070fc70c88643ca6f568f8c4cab6d21144a8/res/values/cm_strings.xml#L31-L38
La ejecución de la culpa en ese bloque de texto conduce a esta diferencia
https://github.com/CyanogenMod/android_packages_apps_Settings/commit/9c512949b5cf487703a75abc7a56d0d98df59e32
Volviendo a la rama que está instalada en el dispositivo, o al menos a la variante estable más cercana que coincide, encuentro de hecho que la cadena de recursos de acceso a root está presente. Espero que haya algo que interfiera y que pueda manipular para que esa opción aparezca de nuevo, porque no aparece.
https://github.com/CyanogenMod/android_packages_apps_Settings/blob/55eb0ad11d3359dc17a846a789627eddb5a1322e/res/values/cm_strings.xml#L31-L38
Hacer un blame en esa versión lleva a este commit...
Husmeando un poco más en ese diff, parece que no tengo suerte, o aparentemente en su momento se decidió que las builds de usuario no tienen esta característica, pero las builds de ingeniería sí.
private boolean removeRootOptionsIfRequired() {
// user builds don't get root, and eng always gets root
https://github.com/CyanogenMod/android_packages_apps_Settings/commit/c39be56248000ac1c88909874b28a80f5370fb2a#diff-946ea451d6a9ad72c2548d8212f10a0aa8ccff901c6cbedd874673404c0ccbbaR422
La lógica se basa en la construcción del sistema operativo
https://developer.Android.com/reference/Android/os/Build#IS_DEBUGGABLE https://developer.Android.com/reference/Android/os/Build#TYPE
Podría estar completamente fuera de suerte aquí porque eso no es algo que se pueda cambiar en tiempo de ejecución por lo que puedo decir. Se trata de un atributo incorporado en tiempo de compilación/compilación :-(
0 votos
Supongo que las opciones de configuración forman parte de la aplicación Inicio en la capa Aplicaciones de la arquitectura Android. tutorialspoint.com/Android/android_architecture.htm