实现JNI中本地函数注册可以两种方式:
(1)采用默认的本地函数注册流程。
(2)自己重写JNI_OnLoad()函数。(本文介绍)(Android中采用这种)
Java端代码:
package com.jni;
public class JavaHello {
public static native String hello();
static {
// load library: libtest.so
try {
System.loadLibrary("test");
} catch (UnsatisfiedLinkError ule) {
System.err.println("WARNING: Could not load library!");
}
}
public static void main(String[] args) {
String s = new JavaHello().hello();
System.out.println(s);
}
}
本地C语言代码:
#include <stdlib.h> #include <string.h&

本文介绍了在Android中如何自定义JNI_OnLoad函数来注册本地函数。通过设置JAVA_HOME, JAVA_SRC_PATH, NATIVE_SRC_PATH环境变量,编译Java源码和C语言代码,生成共享库,然后运行Java程序调用JNI实现功能。"
117633722,11052691,深入理解JAVA的数据类型、常量、变量与运算符,"['JAVA基础', '编程语法', '数据类型', '变量管理', '运算操作']
最低0.47元/天 解锁文章
1502





