在NDK中可能需要复用之前已经编译好的so文件,所以本章的目标是给一个之前编译好的so文件外加一个需要调用接口的头文件,在现在项目中复用。
在本次实践过程中,已经有编译完成的各种cpu架构的libstringutil-lib.so以及头文件,Stringutil.h
头文件中简单定义了两个接口:
class StringUtil {
public:
static char* toLower(char* chars);
static char* toUpper(char* chars);
};
顾名思义上述接口已在libstringutil-lib.so中实现
现有工程需要调用这些接口,步骤如下:
1、在java层创建native接口
package dev.mars.jnidemo; public class StringUtils { static { System.loadLibrary("native-lib"); } public static native String toLower(String str); public static native String toUpper(String str); }