Ejecuto un dispositivo LineageOS con MicroG, pero dado que la aplicación de mensajería predeterminada no se puede desactivar, necesito eliminarla cada vez que actualizo un archivo. Esto se está volviendo cada vez más tedioso a medida que aumentan las aplicaciones que necesito eliminar en la actualización.
¿Cómo escribe un script que elimine estas aplicaciones cada vez que flashea para que los cambios de eliminación persistan? Algo así como addon.d pero eso es para hacer copias de seguridad de las aplicaciones.
Editar: Ambas respuestas son correctas, la que publiqué y la de Death Mask Salesman. Acepté el de Death Mask Salesman porque es relevante para la pregunta, sin embargo, el que publiqué resolvió mi problema.
Como alternativa a la otra respuesta, traigo un enfoque más definitivo, basado addon.d
y dirigido a la eliminación de aplicaciones del sistema.
Recuerde que, a diferencia del pm
método basado, que se puede revertir a voluntad, las aplicaciones eliminadas con este enfoque solo se pueden volver a obtener comentando las líneas correspondientes en el script de debloater y volviendo a aplicar la actualización OTA.
Cualquier script de shell en el /system/addon.d
directorio se ejecuta justo después de que se haya aplicado una actualización OTA. El orden de ejecución depende del número entero al comienzo del nombre de un archivo, ya que los scripts se evalúan en orden creciente.
La eliminación de una aplicación del sistema es simplemente cuestión de publicarla rm -rf
en el directorio principal de la aplicación. Así podemos escribir un script para que estas eliminaciones se realicen sin problemas después de cada actualización.
Si, por ejemplo, queremos eliminar la Email
aplicación estándar, nuestro script se verá así
#!/sbin/sh
rm -rf "/system/app/Email"
Aquí, #!/sbin/sh
hay una línea obligatoria que le indica a TWRP qué programa evaluará el script. No lo quites.
rm -rf
es un comando que se utiliza para eliminar a la fuerza lo que le sigue de forma recursiva. Por lo tanto, rm -rf "/system/app/Email"
elimina el /system/app/Email
directorio y todo lo que contiene, eliminando así la aplicación de correo electrónico por completo.
Para agregar más aplicaciones a la lista, simplemente agregue más rm -rf
declaraciones como en el ejemplo, reemplazándolas /system/app/Email
con la ruta de la aplicación que desea eliminar.
Una vez que haya terminado de escribir el script, deberá copiarlo en un archivo /system/addon.d
. Para ser ejecutado, su nombre debe comenzar con un número entero, seguido de un guión. Por el bien de esta respuesta, lo llamaré 99-debloat.sh
, lo que hace que se evalúe después de los otros scripts adicionales.
Después de eso, es probable que deba cambiar los permisos y la propiedad del script. Para cambiar los permisos, utilice
chmod 755 /system/addon.d/99-debloat.sh
Para modificar la propiedad, utilice
chown 0.0 /system/addon.d/99-debloat.sh
El método descrito en esta respuesta es el que yo mismo uso; Agregaré mi 99-debloat.sh
script personal aquí como referencia.
#!/sbin/sh
app="/system/app"
priv_app="/system/priv-app"
rm -rf $app/Calendar
rm -rf $app/Email
rm -rf $app/FM2
rm -rf $app/PicoTts
rm -rf $app/Stk
rm -rf $priv_app/FlipFlap
rm -rf $priv_app/Gallery2
rm -rf $priv_app/Snap
rm -rf $priv_app/WeatherProvider
/sbin/sh
y no algo así como /system/bin/sh
./sbin/sh
es el proporcionado por TWRP en sí: los scripts adicionales lo usan porque está garantizado que siempre estará disponible, mientras que el otro sh podría no existir si /system
está vacío. /system/bin/sh
es el binario sh proporcionado por Android; a diferencia de lo que dije erróneamente anteriormente, que sh es el que se usa en los scripts init.d porque /sbin/sh
no está disponible cuando se inicia Android.Intenté pm disable <app>
, pm hide <app>
y pm block <app>
, pero todos arrojaron mensajes de error. Pero cuando lo probé, pm disable-user <app>
¡funciona! Y los cambios persisten después de volver a flashear, ¡eso es genial! ¡No necesito escribir un guión después de todo!
Grimorio
rm -rf
en/system/priv-app/AudioFX
. Esto eliminaría AudioFX cada vez que muestre una OTA.izzy
Ojii
Ojii
Grimorio