Ich sehe diesen nativen Absturz mit der folgenden Stapelverfolgung.
Dies geschieht nur in Android 7.0 und 7.1. Der App, die seit einigen Jahren in Produktion ist, wurde nichts Neues hinzugefügt. Da jedoch immer mehr Geräte auf Nougat aktualisiert werden, tritt dieser Absturz jetzt häufig auf und wird zu einem Ärgernis.
Jeder Rat wäre dankbar.
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)
Hier ist eine Liste der betroffenen Geräte:
UPDATE 7/18:
Da ich immer noch nicht in der Lage war, die Wurzel zu finden, entschied ich mich für ein Gerät, das am häufigsten vorkam und einen angemessenen Preis hatte. Es stellte sich heraus, dass es sich um die Samsung Galaxy J3 2017-Version mit Android 7.0 handelte. Leider kann ich den Absturz immer noch nicht reproduzieren.
Ich habe auch einige Verbesserungen der Speichernutzung an der App in der Produktion vorgenommen, aber der Absturz ist immer noch im Gange.
Aus all den Kommentaren und meiner eigenen Forschung geht hervor, dass es sich um dynamisch verknüpfte NDKs handelt, aber ich verwende keine und es ist schwer herauszufinden, ob eine der Abhängigkeiten dies tut.
Ich möchte meine Abhängigkeiten teilen. Es wäre großartig, wenn andere Leute, die mit demselben Problem konfrontiert sind, anrufen könnten, wenn sie eine der gleichen Abhängigkeiten verwenden - vielleicht können wir den Schuldigen auf diese Weise erkennen.
// 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; }
Wenn Sie vor dem gleichen Absturz stehen, antworten Sie bitte in Kommentaren, wenn Sie eine dieser Abhängigkeiten / Versionen verwenden. Vielleicht können wir die Problemabhängigkeit herausgreifen.
quelle
Antworten:
Ein Blick auf die von Ihnen bereitgestellte Müllkippe gibt einige Hinweise:
_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv
Dies zeigt an, dass der Fehler im UI-Thread aufgetreten ist.
libhwui.so x 6
Dies weist darauf hin, dass dies in der Mitte eines Grafik- / UI-Codes geschieht.
libcutils.so - __android_log_assert
Dies ist ein Assert-Handler, daher wurde höchstwahrscheinlich eine Art Assert verletzt
libwhui
.abbrechen:
Dies ist die Anwendung, die das Betriebssystem anweist, "abnormal" herunterzufahren.
erhöhen + pthread_kill + tgkill: Dies ist das Betriebssystem (Android), das die App herunterfährt.
Sie können für das Debuggen von dieser Art von Abstürzen eine Dokumentation sehen hier .
Ich fürchte jedenfalls, es ist wirklich schwierig, über diese grobe und ungenaue Interpretation der von Ihnen präsentierten Daten hinaus zu spekulieren.
Wenn Sie den Fehler beim Anhängen an den Android-Protokoll-Viewer entdeckt haben, haben Sie möglicherweise mehr anwendungsspezifische Daten (oder sogar eine Fehlermeldung, die die Assert-Funktion normalerweise ausgibt).
Mein Tipp ist, so etwas wie ACRA zu verwenden, um alle Details des Fehlers aufzuspüren oder ein betroffenes Gerät zu beschaffen und es tatsächlich zu reproduzieren, während es an einen Debugger angeschlossen ist.
Viel Glück!
EDIT 2017-06-16 : Ich möchte nur einige zusätzliche Informationen mit freundlicher Genehmigung von Fco P hinzufügen. Anscheinend hat Google beschlossen, einige Änderungen an den nativen Bibliotheken vorzunehmen, die in den neuesten Versionen von Android (7.x) ausgeführt werden dürfen. Weitere Details finden Sie unter diesem Link .
quelle
Dies wird hier gemeldet: https://issuetracker.google.com/issues/37123764
So reproduzieren Sie: Rufen Sie einen betroffenen Modus auf, aktivieren Sie den Entwicklermodus und setzen Sie die Hintergrundaktivitäten auf 0. Aktivieren Sie auch "Hintergrundabstürze anzeigen".
Öffnen Sie dann die App und schließen Sie sie erneut: Sie werden den Absturz sehen.
quelle
Nicht in Kommentaren (unzureichende Wiederholung).
Von den von Ihnen aufgelisteten Abhängigkeiten verwenden wir:
andere Versionen als deine. Ich habe den starken Verdacht, dass Play-Services-Maps den Fehler enthalten.
Vielleicht verwenden Sie das Kartenfragment im Viewpager wie wir und viele der bereits erwähnten Personen von Koji Matsubara ( https://issuetracker.google.com/issues/37123764 ).
quelle
Ich weiß nicht, vielleicht ist dieses Problem wie das unsere, vielleicht anders, weil ich in Abhängigkeiten einschließlich sehe
carview
. Teilen Sie hier Hoffnung nützlich für jemanden in der ZukunftIch hatte auch Probleme mit Android 7.0 und 7.1 unten
Nach Recherche und Suche bei Google habe ich
cardview
bisFramelayout
dahin dieses Problem behobenquelle
cardview
bisFramelayout
dieses Problem behoben war. Dieses Problem tritt nur unter Android 7.x aufbecause I see in dependencies have including carview
Ich hatte das gleiche Problem in der Google Play Console für die gleichen Geräte wie Sie.
In meinem Fall war das Problem in TextureView mit Animation in einem separaten Thread mit Sperr- und Entsperrfläche.
Ich habe die TextureView-Animation für 7 und 7.1 android in die invalidate-onDraw-Animation geändert, und das hat geholfen.
quelle
Ich sehe dieses Problem in einem Absturzbericht auf dem Gerät eines Benutzers - "Huawei Honor 7X (HWBND-H)" - mit Android 8.0. Da es bei anderen Geräten / Betriebssystemversionen vor Ort nicht vorkommt, denke ich, dass es möglicherweise bereits in Betriebssystemaktualisierungen behoben wurde (die dieser Benutzer nicht aufgegriffen oder möglicherweise von Huawei nicht bereitgestellt hat).
quelle