Android Studio使用Android.mk编译so库
时间: 2023-11-22 21:50:08 浏览: 212
以下是使用Android.mk编译so库的步骤:
1. 在项目的根目录下创建一个名为jni的文件夹,并在其中创建一个名为Android.mk的文件。
2. 在Android.mk文件中,指定要编译的源文件和生成的库文件名。例如,如果你要编译名为hello.c的源文件,并将生成的库文件命名为libhello.so,则可以使用以下代码:
```makefile
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello
LOCAL_SRC_FILES := hello.c
include $(BUILD_SHARED_LIBRARY)
```
3. 在项目的根目录下创建一个名为Application.mk的文件,并在其中指定要使用的NDK版本和CPU架构。例如,如果你要使用NDK版本r16b,并支持armeabi-v7a和arm64-v8a架构,则可以使用以下代码:
```makefile
APP_PLATFORM := android-16
APP_ABI := armeabi-v7a arm64-v8a
```
4. 在项目的build.gradle文件中,添加以下代码以指定要使用的NDK版本和要编译的架构:
```gradle
android {
// ...
externalNativeBuild {
ndkBuild {
path 'jni/Android.mk'
}
}
defaultConfig {
// ...
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
}
}
```
5. 在Android Studio的Terminal中,使用cd命令进入到jni目录,并执行以下命令来编译so库:
```shell
$ cd jni
$ ndk-build
```
6. 编译完成后,生成的so库文件将位于jni目录下的libs文件夹中。将其复制到app/src/main/jniLibs目录下即可。
阅读全文