1 votos

Atascado en el arranque después de cambiar dpi - Lenovo a7000

Usé Texdroider DPI para cambiar el dpi de 320 a 300 y después del reinicio se queda atascado en el logo de Lenovo. Podría simplemente flashearlo de nuevo, pero no tengo la rom en esta pc, y tomará 10 horas descargarla.

¿Hay alguna forma más rápida de restablecer el dpi? Tengo TWRP instalado. Con Android 5.0.1.

Edición: La salida de cat /system/build.prop | grep density es ro.sf.lcd_density=300 Intenté editar build.prop de nuevo a 320 con Sublime Text. Ahora el comando devuelve ro.sf.lcd_density=320 pero todavía se queda atascado.

1 votos

¿Cuál es tu versión de Android y dispositivo? ¿Está habilitada la depuración USB? ¿Qué aplicación utilizaste? Enlace. Arranca en TWRP, monta la partición de datos, ve a /data/property y confírmanos si persist.sys.lcd_density existe. Si existe, ¿qué contiene?

0 votos

No está allí.

0 votos

Está bien, pero eso no nos dice la versión de Android que estás usando. Ahora, cuando estés en TWRP, monta la partición del sistema, abre la línea de comandos de TWRP y escribe cat /system/build.prop | grep density. Cuéntanos el resultado.

1voto

Firelord Puntos 161

Nota:

  • Partes de esta respuesta no funcionaron para el OP, pero sin embargo, funcionaron en todos mis casos de prueba con diferentes ROMs, por lo tanto, la respuesta seguramente resultará útil para algunos usuarios.
  • El dispositivo debe tener instalada una recuperación personalizada.
  • adb debe estar configurado en la PC y la depuración por USB debe estar habilitada y autorizada en el dispositivo.
  • Cualquier cosa mencionada junto a # en cualquier lugar de una línea es un comentario.

Más o menos, el valor DPI cambiado estaría en settings.db, /data/property/persist.sys.lcd_density, /system/build.prop o solo en memoria. He cubierto instrucciones para todos estos casos y deberían resultar útiles cuando el dispositivo quede atascado en la animación de inicio.

  • Si es un módulo Xposed el que cambió el DPI y causó un problema de inicio, intenta desactivar el módulo o el framework, o quitar el primero o ambos. Consulta mi respuesta aquí para obtener más información al respecto.

  • Si utilizaste la línea de comandos para cambiar el DPI (am/wm), entonces cuando el dispositivo se quede atascado en la animación de inicio (después del logo del OEM), ejecuta

    adb shell am display-density reset    # Para Android 4.2.x
    adb shell wm density reset            # Para Android 4.3.x y superior
    adb reboot
  • En mi Android 4.2.1, la densidad de pantalla 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 has utilizado la línea de comandos (am) o una aplicación utilizó esta clave, sigue estos pasos:

    • Cuando se inicie en recuperación, monta la partición de datos, extrae el archivo mencionado en la PC y utiliza un editor de sqlite para eliminar la clave o cambiar el valor a un DPI mejor o predeterminado. Después de eso, vuelve a colocar el archivo en su lugar.

      adb pull /data/data/com.android.providers.settings/databases/settings.db RUTA_LOCAL     # para extraer el archivo en la PC
      adb push RUTA_LOCAL/settings.db /data/data/com.android.providers.settings/databases/    # para enviar el archivo a Android
      adb reboot 

      Reemplaza RUTA_LOCAL con el directorio bajo el cual se debe guardar y se ha guardado settings.db, respectivamente.

    En Android 4.3 y superior, la densidad de pantalla personalizada se puede encontrar bajo /data/property/persist.sys.lcd_density o ejecutando adb shell "getprop | grep density". Si utilizaste la línea de comandos (wm) o una aplicación utilizó esa propiedad para cambiar el DPI, entonces sigue estos pasos:

    • Cuando se inicie en recuperación, monta la partición de datos y haz

      adb shell rm /data/property/persist.sys.lcd_density                      # esto hará que Android vuelva al DPI predeterminado
      adb shell busybox printf "DPI" > /data/property/persist.sys.lcd_density  # cambia el DPI con tu valor de DPI personalizado
      adb reboot
  • Finalmente, el enfoque más fácil pero peligroso y extremo que tú o una aplicación podrían tomar es cambiar el DPI para la clave ro.sf.lcd_density dentro de /system/build.prop. El DPI en dicho archivo se considera el DPI de stock de esa ROM.

    Cuando se inicie en recuperación con la partición de datos montada,

    • Puedes optar por anular el DPI de stock haciendo

      # reemplazar DPI con tu valor de DPI personalizado
      adb shell am display-density DPI   # Solo para Android 4.2.x 
      adb shell wm density DPI           # Solo para Android 4.3.x y superior 
      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 está reemplazando el DPI con tu valor de DPI personalizado
      adb reboot
    • Si ninguna de las soluciones funciona, entonces tu única opción es reemplazar build.prop. Si tienes una copia de seguridad limpia de la partición del sistema o de build.prop, entonces úsala para reemplazar el archivo original, de lo contrario, flashea la ROM como lo hizo el OP.

Nota: Personalmente no lo probé, pero ha llegado a mi atención que no se debe editar ningún archivo de Android utilizando ningún editor de texto nativo del sistema operativo Microsoft Windows. En su lugar, utiliza Notepad++ o haz todas las ediciones usando la línea de comandos en recuperación.

1voto

Dr. Puntos 11

Esta es una respuesta actualizada y breve ya que Android ya no almacena una sola base de datos de configuración y editar 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 Android 10) las configuraciones se almacenan en:

/data/system/users/0 

Estos son los 2 valores que necesitan ser editados:

"display_size_forced" en settings_global.xml
"display_density_forced" en settings_secure.xml

Necesitas tener instalada una recuperación personalizada y una forma de editar los archivos, ya sea en tu PC o directamente en la recuperación usando Nano Editor. ¡Una vez hecho, simplemente reinicia y listo!

No necesitas los valores exactos para la resolución o densidad, solo algo lo suficientemente cercano para poder arrancar, luego restablece los valores predeterminados del dispositivo usando ADB.

Espero que esto ayude a cualquier persona que esté atrapada en el arranque de recuperación después de editar dpi o resolución.

PreguntAndroid.com

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.

Powered by:

X