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.
0 votos
ver esto
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ó
0 votos
En los teléfonos Nexus, esto se debe a una ROM y partición
vendor
no coincidentes. Los teléfonos Moto seguramente no tienen esa partición, pero supongo que sucederá cuando tu ROM personalizada tenga un número de compilación diferente al de la compilación oficial subyacente, de manera similar. Sea lo que sea, simplemente ignóralo, siempre y cuando ambos estén actualizados, no deberías encontrar errores reales.0 votos
........Para continuar la declaración de @AndyYan Puede haber algo.. extraño. Tuve un problema similar, y mi PIN estaba al revés.