Una aplicación, debido a un fallo no corregido, sigue sobrescribiendo un archivo importante
¿Cómo bloquear ese archivo para que no se pueda sobrescribir?
Tener root. No tengo xposed
Una aplicación, debido a un fallo no corregido, sigue sobrescribiendo un archivo importante
¿Cómo bloquear ese archivo para que no se pueda sobrescribir?
Tener root. No tengo xposed
Puedes eliminar el permiso de escritura en tu archivo. Necesitarías toybox (incorporado en Android desde la v5.0) o busybox. Asumiendo que ya tienes toybox, usa estos comandos en un emulador de terminal:
su
cd /data/media/0/DIR # replace DIR with wherever your file is. E.g. if the file is in /sdcard/Download, then DIR should be Download, so that the whole command looks like /data/media/0/Download
toybox chown 444 FILE\_NAME # this would set read-only permission for every user in the system for that file. Change 444 to 666 to revert changes.
chattr +i FILE\_NAME # alternative to above command. This prevents writing as well as deletion of the file. Change +i to -i to revert changes.
Si te preguntas por qué los comandos se realizan en el archivo bajo /data/media/0
, lea la respuesta aquí de Irfan Latif.
Solución 1: Mover el archivo a otra carpeta. Así, la app no tendrá acceso a él y ya no podrá modificarlo.
Solución 2: Si el archivo no se puede mover (tal vez porque no quieres moverlo, o porque la aplicación necesita acceder a él desde esa carpeta), cambia sus permisos a sólo lectura. Cualquier buen gestor de archivos debería poder hacerlo. haz clic en el archivo, selecciona propiedades y luego quita los permisos de escritura.
Solución 3: Utilice un terminal y haga que el archivo sea inmutable como se indica en el comentario utilizando el comando
su chattr +i /path/to/your/file
Tenga en cuenta que la segunda y la tercera solución sólo funcionarán si el sistema de archivos acepta el cambio de permisos o banderas.
Lamentablemente, no bastó con establecer unas banderas R-W con un explorador de archivos (ES File Explorer en mi caso). La aplicación (que utiliza el archivo, y lo necesita donde está, simplemente lo reemplaza).
PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.