给出Android 的 jni 示例代码
时间: 2023-11-03 11:29:39 浏览: 91
Android JNI示例代码
5星 · 资源好评率100%
以下是一个简单的 Android JNI 示例代码:
Java 代码:
public class MainActivity extends AppCompatActivity {
// 载入名为 "native-lib" 的本地库
static {
System.loadLibrary("native-lib");
}
// 被本地方法调用的示例方法
public native String stringFromJNI();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 调用本地方法并将返回结果显示在 TextView 上
TextView tv = findViewById(R.id.sample_text);
tv.setText(stringFromJNI());
}
}
C++ 代码:
#include <jni.h>
#include <string>
extern "C" JNIEXPORT jstring JNICALL
Java_com_example_android_testapplication_MainActivity_stringFromJNI(JNIEnv *env, jobject /* this */) {
std::string hello = "Hello from C++";
return env->NewStringUTF(hello.c_str());
}
以上代码简单地在 Android Activity 上连接了一个名为 "native-lib" 的本地库,并在 Activity 的 onCreate 方法中调用本地方法 stringFromJNI,该方法返回一个字符串,并将结果显示在 TextView 上。具体的本地方法实现可以在 C++ 文件中进行。
阅读全文