android.mk和cmake,android studio项目中CMake和NDK-build之间的区别
时间: 2024-03-30 09:40:22 浏览: 145
Android.mk和CMake都是Android NDK中的构建系统,而NDK-build是另一种构建系统。Android.mk使用Makefile语法,而CMake使用CMakeLists.txt语法。Android Studio默认使用CMake作为构建系统,但也支持使用NDK-build。
CMake比Android.mk更加灵活,支持跨平台构建,可以生成不同平台的构建文件。CMake也可以更容易地集成到其他IDE(如CLion)中。
NDK-build是Android NDK最初的构建系统,它使用Makefile语法。虽然它仍然可以使用,但Google已经不再推荐使用它并计划在未来的版本中删除它。
总的来说,CMake比Android.mk和NDK-build更为强大,更灵活,并且更易于维护。在Android Studio中,CMake也是首选的构建系统。
相关问题
如何在Android Studio中使用ndk-build?
在Android Studio中使用ndk-build可以通过以下步骤:
1.在`app/build.gradle`文件中添加以下代码:
```gradle
android {
...
externalNativeBuild {
ndkBuild {
path "src/main/jni/Android.mk"
}
}
}
```
其中,`path`后面的路径需要根据项目实际情况进行修改。
2.创建`src/main/jni`目录,并在该目录下创建`Android.mk`文件和`Application.mk`文件。
3.在`Android.mk`文件中指定要编译的源文件和生成的动态库:
```makefile
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := native-lib
LOCAL_SRC_FILES := native-lib.cpp
include $(BUILD_SHARED_LIBRARY)
```
4.在`Application.mk`文件中指定编译选项:
```makefile
APP_ABI := armeabi-v7a x86
APP_PLATFORM := android-24
```
5.使用ndk-build命令编译生成动态库:
```shell
cd app/src/main
ndk-build
```
以上就是在Android Studio中使用ndk-build的基本步骤。需要注意的是,如果你的项目中使用了CMake,则需要在`app/build.gradle`文件中将`ndkBuild`替换为`cmake`,并修改路径为CMakeLists.txt所在的目录。
阅读全文