Android NDK RegisterNatives 更完整的例子

Android NDK RegisterNatives more full example

我正在尝试在 Android Studio 2020.3.1 中制作 Android 本机 C++ 项目。 Here and here 在 JNI_OnLoad 中提供了使用 RegisterNatives 的常见技巧。但是在这个例子中我无法理解什么是 nativeFoonativeBar ?这些是 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) { ... }