从C ++调用Android调试方法

时间:2014-10-23 15:06:07

标签: android c++ android-ndk

我花了很多时间试图解决这个问题而且我绝对亏本。

我正在使用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工作......

1 个答案:

答案 0 :(得分:1)

是C,而不是C ++?也许你的文件扩展名为.c。

如果它是普通的C,它应该是

 JNIEnv* env;

 JNI_CreateJavaVM(&jvm, (void **)&env, &args);

 (*env)->NewStringUTF(env, buf);