在Android上使用jni.h,需要按照以下步骤进行操作:
$ cd jni
$ touch Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := native-lib
LOCAL_SRC_FILES := native-lib.cpp
include $(BUILD_SHARED_LIBRARY)
$ cd ..
$ touch Application.mk
APP_ABI := all
#include <jni.h>
extern "C" JNIEXPORT jstring JNICALL
Java_com_example_myapplication_MainActivity_stringFromJNI(JNIEnv env, jobject / this */) {
std::string hello = "Hello from C++";
return env->NewStringUTF(hello.c_str());
}
上述代码是一个简单的示例,它定义了一个名为"stringFromJNI"的JNI函数,该函数返回一个字符串。
$ ./gradlew assembleDebug
这将生成一个名为"libnative-lib.so"的共享库文件。
```java
static {
System.loadLibrary("native-lib");
}
public native String stringFromJNI();
```
在上述示例中,"System.loadLibrary"加载了之前生成的共享库文件,而"native"关键字用于声明JNI函数。
至此,你已经了解了如何在Android上使用jni.h。请注意,以上步骤仅涵盖了基本的使用方法,实际应用中可能需要更多的配置和操作。如果你需要更详细的信息,可以参考腾讯云的相关文档和示例代码。
高校公开课
云+社区开发者大会(杭州站)
云+社区沙龙online [云原生技术实践]
云+社区技术沙龙[第1期]
云+社区技术沙龙[第9期]
云原生正发声
云原生正发声
高校公开课
第五届Techo TVP开发者峰会
领取专属 10元无门槛券
手把手带您无忧上云