Veo este bloqueo nativo con el siguiente seguimiento de pila.
Esto ocurre solo en Android 7.0 y 7.1. No se ha agregado nada nuevo a la aplicación, que ha estado en producción durante algunos años, pero con la actualización de más dispositivos a Nougat, este bloqueo ocurre con frecuencia ahora y se está convirtiendo en una molestia.
Se agradecería cualquier consejo.
native: pc 000000000007a6c4 /system/lib64/libc.so (tgkill+8)
native: pc 0000000000077920 /system/lib64/libc.so (pthread_kill+64)
native: pc 000000000002538c /system/lib64/libc.so (raise+24)
native: pc 000000000001d24c /system/lib64/libc.so (abort+52)
native: pc 000000000001225c /system/lib64/libcutils.so (__android_log_assert+224)
native: pc 00000000000610e0 /system/lib64/libhwui.so
native: pc 000000000003908c /system/lib64/libhwui.so
native: pc 000000000003609c /system/lib64/libhwui.so
native: pc 000000000003b4fc /system/lib64/libhwui.so
native: pc 000000000003c520 /system/lib64/libhwui.so
native: pc 000000000003e694 /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv+152)
native: pc 00000000000127f0 /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+336)
native: pc 00000000000a50b0 /system/lib64/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+116)
native: pc 00000000000770f4 /system/lib64/libc.so (_ZL15__pthread_startPv+204)
native: pc 000000000001e7d0 /system/lib64/libc.so (__start_thread+16)
A continuación, se muestra una lista de los dispositivos afectados:
ACTUALIZACIÓN 18/7:
Todavía no puedo llegar a la raíz de esto, así que decidí comprar un dispositivo que tenía la mayoría de las ocurrencias y tenía un precio razonable, que resultó ser la versión Samsung Galaxy J3 2017 con Android 7.0. Desafortunadamente, todavía no puedo reproducir el bloqueo.
También realicé algunas mejoras en el uso de la memoria para la aplicación en producción, pero el bloqueo aún está sucediendo.
De todos los comentarios y mi propia investigación, parece estar relacionado con NDK vinculados dinámicamente, pero no estoy usando ninguno y es difícil averiguar si alguna de las dependencias lo hace.
Me gustaría compartir mis dependencias, sería genial si otras personas que enfrentan el mismo problema pudieran llamar si están usando una de las mismas dependencias; tal vez podamos detectar al culpable de esta manera.
// App Compat
compile 'com.android.support:support-v4:23.0.1'
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:cardview-v7:23.0.1'
compile 'com.android.support:recyclerview-v7:23.0.1'
// Play Services
compile 'com.google.android.gms:play-services-location:8.3.0'
compile 'com.google.android.gms:play-services-maps:8.3.0'
compile 'com.google.android.gms:play-services-analytics:8.3.0'
compile 'com.google.android.gms:play-services-appindexing:8.3.0'
compile 'com.google.android.gms:play-services-ads:8.3.0'
// Misc Libraries
compile 'fr.avianey.com.viewpagerindicator:library:2.4.1@aar'
compile files('app/libs/htmlcleaner-2.7.jar')
compile files('app/libs/protobuf-java-2.6.0.jar')
compile files('app/libs/nineoldandroids-2.4.0.jar')
// Fabric
compile('com.twitter.sdk.android:twitter:1.13.0@aar') { transitive = true; }
compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') { transitive = true; }
Para las personas que enfrentan el mismo bloqueo, responda en los comentarios si está utilizando alguna de estas dependencias / versiones. Quizás podamos señalar el problema de la dependencia.
fuente
Respuestas:
Mirar el volcado que proporcionó le da algunas pistas:
_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv
Esto indica que el error ocurrió en el hilo de la interfaz de usuario.
libhwui.so x 6
Esto indica que esto está sucediendo en medio de algunos códigos relacionados con gráficos / interfaz de usuario.
libcutils.so - __android_log_assert
Este es un controlador de aserción, por lo que lo más probable es que se haya violado algún tipo de aserción
libwhui
.abortar:
Esta es la aplicación que le dice al O / S que se apague "anormalmente".
raise + pthread_kill + tgkill: Este es el O / S (Android) que cierra la aplicación.
Puede ver alguna documentación para depurar este tipo de fallas aquí .
De todos modos, me temo que es realmente difícil especular más allá de esta interpretación tosca e imprecisa de los datos que presentó.
Tal vez si detectó el error mientras estaba adjunto al visor de registro de Android, tendría más datos específicos de la aplicación (o incluso un mensaje de error que la función de aserción generalmente muestra).
Mi consejo es usar algo como ACRA para rastrear todos los detalles relacionados con el error, o conseguir un dispositivo afectado y reproducirlo mientras está conectado a un depurador.
¡Buena suerte!
EDITAR 2017-06-16 : Solo quiero agregar un comentario de cortesía de información adicional de Fco P. Aparentemente, Google ha decidido realizar algunos cambios en las bibliotecas nativas que pueden ejecutarse en las últimas versiones de Android (7.x). Más detalles están en este enlace .
fuente
Esto se informa aquí: https://issuetracker.google.com/issues/37123764
Para reproducir: obtenga un modo afectado, habilite el modo de desarrollador y configure las actividades en segundo plano en 0. También habilite "mostrar bloqueos en segundo plano".
Luego abra la aplicación y ciérrela nuevamente: verá el bloqueo.
fuente
No en comentarios (representante insuficiente).
De las dependencias que ha enumerado utilizamos:
versiones diferentes a la tuya. Tengo una fuerte sospecha de que play-services-maps contiene el error.
Quizás use el fragmento de mapa en viewpager como lo hacemos nosotros y muchas personas en cuestión ya mencionadas por Koji Matsubara ( https://issuetracker.google.com/issues/37123764 )
fuente
No lo sé, tal vez este problema como el nuestro, tal vez diferente, porque veo en dependencias que incluyen
carview
. Comparte aquí esperanza útil para alguien en el futuroTambién enfrenté un problema en Android 7.0 y 7.1 a continuación
Después de investigar y buscar en gooogle, reemplacé
cardview
porFramelayout
entonces este problema se resolviófuente
cardview
paraFramelayout
luego resolver este problema, este problema solo ocurre en Android 7.xbecause I see in dependencies have including carview
parece no coincidir con la preguntaTuve el mismo problema en la consola de Google Play para los mismos dispositivos que tú.
En mi caso, el problema estaba en TextureView con animación en un hilo separado con bloqueo y desbloqueo de lienzo.
Cambié la animación TextureView a la animación invalidate-onDraw para Android 7 y 7.1 y eso ayudó.
fuente
Veo este problema en un informe de fallas en el dispositivo de un usuario: 'Huawei Honor 7X (HWBND-H)', con Android 8.0. Dado que no está ocurriendo en el campo para otros dispositivos / versiones del sistema operativo, mi pensamiento es que ya podría haberse solucionado en las actualizaciones del sistema operativo (que este usuario no ha recogido, o posiblemente Huawei no ha proporcionado).
fuente