Undefinierter Verweis auf AAsetManager_fromJava

8

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?

    
devin 23.09.2012, 12:04
quelle

4 Antworten

14

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.

    
devin 23.09.2012, 12:29
quelle
2

Ich habe gradle.build

hinzugefügt

android.ndk { ldLibs.addAll(["android", "log"]) }

    
ericharlow 18.01.2016 17:38
quelle
1

Ich habe es behoben, indem ich folgendes zu Android.mk hinzugefügt habe

%Vor%     
h5pang 03.01.2014 18:14
quelle
1

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!

    
Ottoman Empire 04.04.2017 13:45
quelle