Problem: 20% der Benutzer erhalten:
%Vor%Für andere 80% App funktioniert perfekt, keine Ausnahme auf meinen Testgeräten. Kann nicht herausfinden, was das Problem ist.
EDIT1 : Die Bibliothek lädt sich perfekt auf dem Begrüßungsbildschirm. Keine Ausnahme an diesem Punkt.
%Vor%EDIT2 : Habe den Fehler einfach reproduziert. Es ist absolut zufällig. App-Funktionsaufruf funktioniert gut und irgendwann beginnt es zu versagen. Der einzige Fix ist die Neuinstallation der App.
Nach meinem Kommentar und den späteren Kommentaren von @ stanislav-parkhomenko wiederhole ich es als Antwort. Danke!
Mein Kommentar:
Wo befindet sich der statische {...} Block? Ein möglicher Grund dafür könnte sein, dass der Code vor einigen Aufrufen nicht ausgeführt wird.
Und später von sich selbst bestätigt, dass dies der Grund war:
Das Problem lag in der Initialisierung der Bibliothek. Splash-Screen läuft nicht immer, wegen der Sharing-Funktionalität, weshalb manchmal Bibliothek nicht geladen wurde.
Danke an Xavier Rubio Jansana für den Rat, der meine Blindheit heilte.
Schön, dass es geholfen hat!
Dieser Fehler wird durch eine nicht übereinstimmende Methodensignatur zwischen Java und der nativen Bibliothek verursacht, die Sie laden. Es ist wahrscheinlich, dass 20% der Benutzer eine andere Version der Bibliotheksdatei mit demselben Namen haben. Wenn es Ihre eigene Bibliothek ist, versuchen Sie es mit einem relativ eindeutigen Namen und laden Sie es vom absoluten Pfad, um die Wahrscheinlichkeit eines Namenskonflikts zu verringern.
Es sieht so aus, als würde es versuchen, eine native Bibliothek zu laden, und es gibt noch keine Unterstützung in Android Gradle
für nativen Code. Sie sollten die Dokumente für Ihre Bibliothek überprüfen, um zu bestätigen; Ich habe versucht, nachzusehen, aber es sieht so aus, als wäre es eine kommerzielle Bibliothek ohne öffentlich zugängliche Dokumente.
Sie könnten einfach die .so
Dateien in jniLibs
Ordner in src/main
einfügen. Dies wurde in AS 0.7.2 eingeführt.
Als Beispiel sehen Sie dies von @ CommonsWare , oder siehe diese Seite für offizielle Beispiele (scroll am Ende der Seite)
Ja Immer noch keine Unterstützung für native Bibliothek in Android Gradle.Nur folgte ich einfachen Hack.Es funktioniert super. Überprüfen Sie dies
Tags und Links java android android-ndk jni