Android studio Java调用c++实例
时间: 2023-12-11 20:03:46 浏览: 108
在Android Studio中,Java调用C++可以使用JNI(Java Native Interface)。下面是一个简单的例子:
1.创建一个C++文件,例如sample.cpp。
```c++
#include <jni.h>
#include <string>
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());
}
```
2.在Java中创建一个native方法,例如:
```java
public native String stringFromJNI();
```
3.在MainActivity.java文件中加载本地库并调用native方法:
```java
static {
System.loadLibrary("native-lib");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = findViewById(R.id.sample_text);
tv.setText(stringFromJNI());
}
```
4.在build.gradle文件中添加本地库:
```gradle
android {
// ...
defaultConfig {
// ...
externalNativeBuild {
cmake {
// ...
cppFlags "-std=c++11"
// ...
}
}
}
// ...
}
// ...
externalNativeBuild {
cmake {
// ...
cppFlags "-std=c++11"
// ...
}
}
// ...
```
以上是一个简单的例子,你可以根据自己的需求进行调整。需要注意的是,在使用JNI时,需要注意内存泄漏问题。
阅读全文