Referência indefinida para AAssetManager_fromJava

Eu estou tentando acessar ativos de um apk android usando AAssetManager. No entanto, eu continuo recebendo "referência indefinida para AAssetManager_fromJava", embora eu tenha incluído asset_manager.h e asset_manager_jni.h Outras funções de asset_manager.h, como AAssetManager_openDir (mgr, "") etc também não podem ser referenciadas.

Aqui está o código completo

#define EXPORT_API

#include <string.h>
#include <jni.h>
#include <android\log.h>

#include <sys\types.h>
#include <android\asset_manager.h>
#include <android\asset_manager_jni.h>

#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, "com.devin - native", __VA_ARGS__)

JNIEnv* env=0;

#ifdef __cplusplus
extern "C" {
#endif

JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* pvt){
    LOGD("JNI_OnLoad() called");
    vm->AttachCurrentThread(&env, 0);
    return JNI_VERSION_1_2;
}

EXPORT_API void LoadAsset(char* filename, jobject assetManager){
    AAssetManager* mgr = AAssetManager_fromJava(env, assetManager);
        /* More stuff */
}

#ifdef __cplusplus
};
#endif

Este código está em um arquivo .cpp e sendo compilado com o NDK R8. Estou fazendo algo terrivelmente errado aqui?

questionAnswers(5)

yourAnswerToTheQuestion