我花了很多时间试图解决这个问题而且我绝对亏本。
我正在使用JUCE库并修改了他们的一个示例项目。我的目标是拥有一个非常简单的Android应用程序,该应用程序是用C ++编写的,然后移植到Android。我需要一个C ++函数,我可以调用它然后调用Android端的函数,它将我的堆大小和其他特性返回到我的C ++代码,以便我可以在那里管理内存。
如果有人有一个令人惊讶的简单解决方案。现在我当前的障碍是:
char const buf[] = "From JNI";
jstring jstr = env->NewStringUTF(buf);
jclass clazz = env->FindClass("android/os/Debug");
但是我一直收到一个错误,说“NewStringUTF”不是_JNIEnv成员......但如果我右键单击该方法并跳转到定义,我会在我的jni.h文件中看到它...任何建议?我顺便在Xcode工作......
答案 0 :(得分:1)
是C,而不是C ++?也许你的文件扩展名为.c。
如果它是普通的C,它应该是
JNIEnv* env;
JNI_CreateJavaVM(&jvm, (void **)&env, &args);
(*env)->NewStringUTF(env, buf);