Ich versuche, Assets von einem Android apk mit AAssetManager zuzugreifen. Aber ich werde immer weiter "Undefinierter Verweis auf AAsetManager_fromJava", obwohl ich Asset_Manager.h und Asset_Manager_jni.h eingeschlossen habe Andere Funktionen von asset_manager.h, wie AAsettManager_openDir (mgr, "") usw. können ebenfalls nicht referenziert werden.
Hier ist der vollständige Code
%Vor%Dieser Code befindet sich in einer CPP-Datei und wird mit NDK R8 kompiliert. Mache ich hier etwas sehr falsches?
Mein Fehler. Ich hatte keine "android" -Bibliothek zum Linker hinzugefügt. Ich habe die NDK-Entwicklungsumgebung in Visual Studio Express eingerichtet und die "android" -Bibliothek wurde standardmäßig nicht zu meinem Projekt hinzugefügt.
Wenn Sie Makefiles verwenden, stellen Sie sicher, dass Sie -landroid zu Ihrem LOCAL_LDLIBS hinzufügen, wenn Sie den systemeigenen AssetManager verwenden.
Ich habe gradle.build
hinzugefügt android.ndk {
ldLibs.addAll(["android", "log"])
}
Android Studio-Entwickler Wenn Sie eine ExternalNativeBuild-Datei haben, die "CMakeList.txt" heißt, müssen Sie diesen Code an CMakeList.txt
anhängen %Vor%Wenn du auch native lib hast, kannst du das einfach hinzufügen
%Vor%Das ist großartig!
Tags und Links android android-ndk android-assets