Android studio 如何调用C/C++文件
时间: 2023-06-13 21:03:25 浏览: 267
AndroidJNI.rar_Android jni_android
Android Studio 可以通过 JNI(Java Native Interface)来调用 C/C++ 文件。
具体步骤如下:
1. 在 Android Studio 项目下,创建一个名为 `jni` 的目录。
2. 在 `jni` 目录下,创建一个名为 `native-lib.c` 的 C 文件。
3. 在 `native-lib.c` 文件中实现需要调用的 C/C++ 函数。
4. 在 `jni` 目录下创建一个名为 `Android.mk` 的文件,用于编译 `native-lib.c`。
```
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := native-lib
LOCAL_SRC_FILES := native-lib.c
include $(BUILD_SHARED_LIBRARY)
```
5. 在 `jni` 目录下创建一个名为 `Application.mk` 的文件,用于指定编译选项。
```
APP_ABI := all
```
6. 在 `MainActivity.java` 文件中,声明需要调用的 C/C++ 函数。
```
public native int add(int a, int b);
```
7. 在 `MainActivity.java` 文件的 `onCreate` 方法中,加载动态库,并调用 C/C++ 函数。
```
static {
System.loadLibrary("native-lib");
}
int result = add(1, 2);
```
8. 使用 `ndk-build` 命令编译动态库,并将编译生成的 `.so` 文件放置到 `app/src/main/jniLibs` 目录下。
9. 运行 Android 应用程序,即可调用 C/C++ 函数。
注意事项:
1. 需要在 `build.gradle` 文件中添加如下配置:
```
android {
defaultConfig {
ndk {
abiFilters 'armeabi-v7a', 'x86'
}
}
sourceSets {
main {
jniLibs.srcDirs = ['src/main/jniLibs']
}
}
}
```
2. 需要安装 NDK 工具包,并在 `local.properties` 文件中指定 NDK 路径。
```
ndk.dir=/path/to/ndk
```
阅读全文