Android NDK RegisterNatives 更完整的例子
Android NDK RegisterNatives more full example
我正在尝试在 Android Studio 2020.3.1 中制作 Android 本机 C++ 项目。
Here and here 在 JNI_OnLoad 中提供了使用 RegisterNatives 的常见技巧。但是在这个例子中我无法理解什么是 nativeFoo 和 nativeBar ?这些是 C++ 代码的方法或函数?示例中 MyClass 正在做什么?我想要 Android NDK C++ 本机的更完整和清晰的代码示例。谢谢!
从第一个 link 中的 RegisterNatives
调用向后,它将本机 C++ 方法连接到以下 Java class:
package com.example.app.package;
class MyClass {
public native void nativeFoo();
public native bool nativeBar(String, int);
}
并且它期望您之前定义了以下 C++ 函数:
JNIEXPORT void JNICALL nativeFoo(JNIEnv *env, jobject object) { ... }
JNIEXPORT jboolean JNICALL nativeBar(JNIEnv *env, jobject object, jstring a, jint b) { ... }
我正在尝试在 Android Studio 2020.3.1 中制作 Android 本机 C++ 项目。 Here and here 在 JNI_OnLoad 中提供了使用 RegisterNatives 的常见技巧。但是在这个例子中我无法理解什么是 nativeFoo 和 nativeBar ?这些是 C++ 代码的方法或函数?示例中 MyClass 正在做什么?我想要 Android NDK C++ 本机的更完整和清晰的代码示例。谢谢!
从第一个 link 中的 RegisterNatives
调用向后,它将本机 C++ 方法连接到以下 Java class:
package com.example.app.package;
class MyClass {
public native void nativeFoo();
public native bool nativeBar(String, int);
}
并且它期望您之前定义了以下 C++ 函数:
JNIEXPORT void JNICALL nativeFoo(JNIEnv *env, jobject object) { ... }
JNIEXPORT jboolean JNICALL nativeBar(JNIEnv *env, jobject object, jstring a, jint b) { ... }