Android NDK-Ausnahme fehlgeschlagen: dlopen fehlgeschlagen: Das Symbol "_ZN7Tangram11setPositionEdd", auf das von "libtangram.so" verwiesen wird, kann nicht gefunden werden.

8

Ich versuche, eine Demo-Anwendung einer Bibliothek zu starten, in die android ndk integriert ist. Ich habe diesen Code in Android Studio importiert und auch ndk heruntergeladen und mit dem Projekt verknüpft. Code kompiliert und baut erfolgreich. Es gibt Absturz mit Ausnahme "Ausnahme ljava lang unzufriedenerlinkerror beim Initialisieren ausgelöst" "fehlgeschlagen: dlopen fehlgeschlagen: kann Symbol" _ZN7Tangram11setPositionEdd "nicht finden, auf das von" libtangram.so "verwiesen wird ..."

Anwendung.mk:

%Vor%

Android.mk:

%Vor%

Modul Gradel Datei:

%Vor%

In Java-Klassen laden Bibliotheken:

%Vor%

Ich google dieses Problem und in diesen Posts Link1 Link2 Link3 Link4 Es wird erwähnt, dass es möglicherweise das Problem ist, bei einer API 21 oder neuer zu kompilieren und sie auf älteren Geräten auszuführen. Aber ich habe APP_PLATFORM: = android-19 in meiner Application.mk erwähnt und diese Ausnahme bekommen.

Irgendwelche Hilfe?

    
Nouman Bhatti 02.03.2016, 08:17
quelle

1 Antwort

1

Es sieht so aus, als hätten Sie versucht, das Tangram-Projekt von Ihrem eigenen benutzerdefinierten "ndk-build" zu kompilieren, im Gegensatz zum empfohlenen Build-Prozess () Ссылка ). Verwenden Sie ihren Build-Prozess mit make , um die Datei libtangram.so zu erstellen, und kopieren Sie dann diese .so-Datei in Ihr natives Bibliotheksverzeichnis für Ihre App.

Der Grund, warum diese Symbole nicht gefunden werden können, liegt darin, dass Sie nicht die entsprechenden Quelldateien einschließen, die diese Funktionen beim Erstellen mit dem ndk definieren. Durch die Analyse nicht definierter Symbole wird es kompiliert, kann sie aber zur Laufzeit nicht auflösen.

Das fehlende Symbol wird aus Tangram::setPosition(double, double) erstellt, das unter Ссылка ; Ihre Android.mk-Datei enthält diese Quelldatei jedoch nicht.

    
odexcide 09.03.2016, 16:54
quelle

Tags und Links