Usé Texdroider DPI para cambiar el dpi de 320
a 300
y después del reinicio se atasca en el logotipo de lenovo. Podría flashearlo de nuevo, pero no tengo la rom en esta PC, y tardará 10 horas en descargarlo.
¿Hay alguna forma más rápida de restablecer los dpi? Tengo TWRP instalado. Con android 5.0.1.
Editar: la salida de cat /system/build.prop | grep density
se ro.sf.lcd_density=300
intentó editar build.prop de nuevo a 320 con Sublime Text. Ahora el comando regresa ro.sf.lcd_density=320
pero aún se atasca.
Nota:
#
cualquier parte de una línea es un comentario.Más o menos, el valor de DPI cambiado estaría en settings.db
, /data/property/persist.sys.lcd_density
o /system/build.prop
solo en la memoria. He cubierto las instrucciones para todos estos casos y deberían resultar útiles cuando el dispositivo se atasca en la animación de arranque.
Si es un módulo Xposed que cambió el DPI y causó un problema de arranque, intente deshabilitar el módulo o el marco, o elimine el primero o ambos. Vea mi respuesta aquí para obtener más información al respecto.
Si usó la línea de comandos para cambiar DPI ( am
/ wm
), cuando el dispositivo se atasque en la animación de arranque (más allá del logotipo OEM), ejecute
adb shell am display-density reset # For Android 4.2.x
adb shell wm density reset # For Android 4.3.x and above
adb reboot
En mi Android 4.2.1, la densidad de visualización personalizada se guarda como un valor para la clave display_density_forced
en la tabla global
de /data/data/com.android.providers.settings/databases/settings.db
. Si usó la línea de comandos (am) o una aplicación usó esta tecla, siga estos pasos:
Cuando inicie la recuperación, monte la partición de datos, extraiga dicho archivo en la PC y use un editor sqlite para eliminar la clave o cambiar el valor a un DPI mejor o predeterminado. Después de eso, vuelva a colocar el archivo en su lugar.
adb pull /data/data/com.android.providers.settings/databases/settings.db LOCAL_PATH # to pull the file into PC
adb push LOCAL_PATH/settings.db /data/data/com.android.providers.settings/databases/ # to push the file into Android
adb reboot
Reemplace LOCAL_PATH
con el directorio bajo el cual settings.db
se guardará y se guardará, respectivamente.
En Android 4.3 y superior, la densidad de visualización personalizada se puede encontrar en /data/property/persist.sys.lcd_density
o ejecutando adb shell "getprop | grep density"
. Si usó la línea de comando (wm) o una aplicación usó esa propiedad para cambiar DPI, siga estos pasos:
Cuando inicie la recuperación, monte la partición de datos y haga
adb shell rm /data/property/persist.sys.lcd_density # this will cause Android to fall back to default DPI
adb shell busybox printf "DPI" > /data/property/persist.sys.lcd_density # change DPI with your custom DPI value
adb reboot
Finalmente, el enfoque más fácil pero peligroso y extremo que usted o una aplicación tomarían es cambiar el DPI de la clave ro.sf.lcd_density
interna /system/build.prop
. El DPI en dicho archivo se considera el DPI estándar de esa ROM.
Cuando se inicia la recuperación con la partición de datos montada,
Puede optar por anular el DPI de stock haciendo
# replace DPI with your custom DPI
adb shell am display-density DPI # For Android 4.2.x only
adb shell wm density DPI # For Android 4.3.x and above only
adb reboot
Si eso no funciona por alguna razón, haz
adb shell sed -i 's/.*ro.sf.lcd_density.*/ro.sf.lcd_density=DPI/g' /system/build.prop # sed is replacing the DPI with your custom DPI value
adb reboot
build.prop
. Si tiene una copia de seguridad limpia de la partición del sistema o build.prop
luego la usa para reemplazar el archivo original, de lo contrario, actualice la ROM como lo hizo OP.Nota: personalmente no probé, pero me ha llegado la noticia de no editar ningún archivo de Android usando ningún editor de texto nativo del sistema operativo Microsoft Windows. En su lugar, use Notepad ++ o haga toda la edición usando la línea de comando en la recuperación.
Esta es una pequeña respuesta actualizada ya que Android ya no almacena una sola base de datos de configuración y la edición de build.props no parece funcionar en varios teléfonos más nuevos. Además, los comandos "shell wm" no funcionan en la recuperación de twrp.
Al menos en mi caso (xiaomi Redmi9 con android10) la configuración se almacena en:
/data/system/users/0
Estos son los 2 valores que necesitan ser editados:
"display_size_forced" in settings_global.xml
"display_density_forced" in settings_secure.xml
Necesita una recuperación personalizada instalada y una forma de editar los archivos, ya sea en su PC o directamente en la recuperación usando Nano Editor. Una vez hecho esto, simplemente reinicie y ¡listo!
No necesita los valores exactos para la resolución o la densidad, solo algo lo suficientemente cerca como para poder arrancar, luego restablecer los valores predeterminados de los dispositivos usando ADB.
Espero que esto ayude a cualquier persona atascada en el arranque de recuperación después de editar dpi o resolución.
Señor del Fuego
/data/property
y confirme sipersist.sys.lcd_density
existe. Si existe, ¿qué contiene?usuario1824034
Señor del Fuego
cat /system/build.prop | grep density
. Cuéntanos el resultado.usuario1824034
# Lenovo-sw wuzb1 2014-10-08 set default density ro.sf.lcd_dencity=300
Señor del Fuego
ro.sf.lcd_density
en la salida del comando.Señor del Fuego
Señor del Fuego
usuario1824034
cp /data/data/com.texdroider.texdroider_dpi/files/backup/build.prop /system/build.prop
y el archivo no existe. El directoriocom.texdroider.texdroider_dpi
aparece como un archivo en el explorador.Señor del Fuego
adb shell sed -i -e 's/.*ro.sf.lcd_density.*/ro.sf.lcd_density=320/g' /system/build.prop
? Si no está utilizando un sistema * nix, necesitará el editor sed instalado en el sistema.usuario1824034
cannot link executable: could not load library libc.so needed by adb
[...]is 32-bit instead of 64-bit
.Señor del Fuego
sed -i -e 's/.*ro.sf.lcd_density.*/ro.sf.lcd_density=320/g' /system/build.prop
o simplemente elimíneloadb shell
del comando anterior. Asegúrese de que la partición del sistema ya esté montada.usuario1824034
Señor del Fuego
adb shell busybox printf "320" > /data/property/persist.sys.lcd_density
y luegoadb shell chmod 600 /data/property/persist.sys.lcd_density
. Desmonte la partición de datos, reinicie en Android y díganos el resultado.usuario1824034