c ++

时间:2016-10-19 14:22:41

标签: java android android-ndk java-native-interface android-studio-2.2

我正在Android Studio 2.2中开发Android应用。在这方面,我使用通常的java代码来创建一些对象列表。此外,我有一些cmake包含的C ++代码,它正在使用这些对象列表。是否有可能保存这些列表并立即使用它们而无需在C ++中进行转换?或者我总是要做这样的事情: 在Java中调用C ++方法并将列表作为数组传输:

CplusplusMethod(listarray1, listarray2, listarray3)

并在C ++中获取数组,获取对象,将它们转换为C ++对象并将转换后的对象再次保存在新列表中:

Java_com_CplusplusMethod(JNIEnv *env,
    jobject, jobjectArray array1, jobjectArray array2,...) {
jclass jclass = env->FindClass("path");
jmethodID jmethod = env->GetMethodID(jclass, "getValue", "()I");
....

? 这看起来很安静让我困惑。必须有一个更简单的方法,不是吗?

我期待你的回复,并提前致谢!

朱莉安

1 个答案:

答案 0 :(得分:0)

尝试使用SWIG。它具有混合C ++和Java的能力。