5 votos

"Hay un problema interno con tu dispositivo, y podría estar inestable hasta que restablezcas los datos de fábrica."

Al iniciar, recibo el mensaje:

Hay un problema interno con su dispositivo y podría no ser estable hasta que restablezca los datos de fábrica.

No estoy experimentando cierres forzosos ni inestabilidad.

¿Qué circunstancias causan este error, y hay algún comando de terminal que pueda evitar la necesidad de restablecer los datos de fábrica?

Si este es un problema con una /system/build.prop incoherente, ¿cómo puedo averiguar las incoherencias específicas para poder restaurarlas?

Estoy usando Dirty Unicorns en un Moto Pure/Play, pero he visto esto en otras ROMs y hardware.

0 votos

0 votos

También borrar /cache podría ayudar como dice technobill El mensaje de error que ves al arrancar se debe a que los archivos del sistema están desincronizados

0 votos

Limpiar la caché no ayudó

7voto

Alkaaran Puntos 51

Has acertado correctamente. Se trata de una discrepancia entre la firma de compilación mencionada en el archivo build.prop en la partición del sistema y el archivo build.prop en la imagen del proveedor, específicamente la clave ro.vendor.build.fingerprint.

Hasta donde sé, esto sucede cuando la partición del proveedor y la partición del sistema fueron construidas por separado a partir de compilaciones o versiones diferentes.

Hay varias soluciones para este problema, especificaré dos que personalmente he probado y me he deshecho con éxito de este molesto mensaje de error.

Solución en tiempo de ejecución

La primera solución es en tiempo de ejecución y requiere acceso root en adb. Montaremos las imágenes y simplemente haremos que el valor de la huella coincida copiándolo de una partición a la otra.

  • adb root
  • mount -o rw,remount -t ext4 /system
  • adb remount
  • adb pull /vendor/build.prop ./build.prop.vendor
  • adb pull /system/build.prop ./build.prop.system
  • copia el valor de build.prop.system a build.prop.vendor para ro.vendor.build.fingerprint
  • adb push ./build.prop.vendor /vendor/build.prop
  • adb reboot

Solución en tiempo de compilación

La segunda solución me gusta más porque en realidad elimina por completo la comprobación del código. Si estás construyendo tu propio sabor de Android, o al menos compilándolo tú mismo, simplemente puedes cambiar el código y deshabilitar esta característica.

El código que verifica la huella digital y eventualmente genera ese error se encuentra en

/frameworks/base/core/java/android/os/Build.java.

Busca el siguiente método:

public static boolean isBuildConsistent()

Simplemente comenta todo el código en él y reemplázalo con

return true;

Esto hará que tu compilación siempre sea "consistente" y nunca se presentarán problemas de huella digital.

1 votos

github.com/LineageOS/android_vendor_lineage/commit/… Please note that the translation remained the same as the original sentence.

0 votos

La tercera solución que @xdevs23 mencionó, es hacer que las huellas dactilares coincidan :)

0 votos

Exactamente, seleccioné ese commit y nunca volví a recibir ese mensaje.

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