调用 loadLibrary 的时候会在 so 层调用 JNI_Onload 函数,我们可以在这个时机通过 JNI 中提供的 RegisterNative 方法来注册函数
- 填写一个
JNINativeMethod
类型的函数映射表,表中有 native 方法名、方法的签名(接收的 java 类型、函数指针) - 调用
FindClass
方法,获取 java 对象 - 调用
RegisterNatives
方法,传入 java 对象、上面的表和数目
如签名 (I[B)Ljava/lang/String;
表达的就是 String getText(int a,byte[] b)
中的类型信息,L 后面跟的是包名和类名表示一个类,括号内是参数,括号外是返回值