Ich habe eine JNI Android-Anwendung implementiert. Diese Anwendung benötigt ein paar zusätzliche 'Shared Libs', die als Teil der APK gepackt werden. Mit Ecplise habe ich diese Bibliotheken dem Ordner '/ libs / armeabi' des Projekts hinzugefügt.
Beim Start der Anwendung (über den integrierten Debugger) werden meine hinzugefügten "Shared Libs" jedoch aus dem Ordner "armeabi" entfernt.
Sie müssen diese Bibliotheken nicht selbst in den Ordner libs
kopieren. Dieser Job sollte von ndk-build
erledigt werden.
Diese beiden Schritte sollten ausreichen:
Erstellen Sie den Ordner mylibs
(Sie können stattdessen einen anderen Namen verwenden) auf der Stammebene Ihres Projekts. Und legen Sie Ihre Bibliotheken in diesen Ordner.
Fügen Sie für jede Bibliothek die folgenden Zeilen hinzu, bevor die include $(CLEAR_VARS)
-Anweisung mylib
durch Ihren Bibliotheksnamen ersetzt:
(Sie benötigen möglicherweise einen etwas anderen Pfad für LOCAL_SRC_FILES
. Dies hängt von Ihrer Eclipse-Konfiguration ab.)
Noch eine Anmerkung in diesem Zusammenhang ist, dass der Pfad zu der externen SharedLib relativ zum jni-Verzeichnis (oder zu jedem anderen angegebenen @ LOCAL_PATH) sein muss, dh "LOCAL_SRC_FILES: = ../../ .. /Android/ffmpeg/libavcodec/libavcodec.so "funktioniert dort, wo der absolute Pfad nicht funktioniert.
Tags und Links android android-ndk jni