从另一个JNI方法调用JNI方法

时间:2014-07-10 12:38:08

标签: android-ndk java-native-interface

是否可以在另一个JNI C函数中调用JNI C函数? (直接或间接),或者,正常C函数内的JNI函数?

例如:

int inverse_transform(double real[], double imag[], size_t n) {
return Java_com_example_ffttest_FFTActivity_transform(imag, real, n);

}

稍后在另一个方法中调用

inverse_transform()

JNIEXPORT jint JNICALL Java_com_example_ffttest_FFTActivity_convolve(...)
                     {
                          ....
                          inverse_transform();
                                }

这有用吗?我试过但它给了我关于参数的错误,我不知道如何使用* env和obj。

2 个答案:

答案 0 :(得分:3)

当然可以。就C而言,这些只是具有有趣名称的函数。

但需要注意的一点是 - 如果JNI函数使用其JNIEnv参数,则需要从非JNI函数传递有效的函数。

答案 1 :(得分:0)

最后,JNI方法是正常的c ++方法,所以你可以做到这一点。