用CMake 编译Android库

来源:互联网 发布:电脑钢琴学习软件 编辑:程序博客网 时间:2024/05/29 13:10

Android默认使用Android-NDk来编译native库,需要编写Androd.mk文件,和Application.mk文件。

但现在很多项目使用CMake来编译(CMakeLists.txt),

AndroidStuidio已经提供了cmake的支持(没用过)。

直接使用CMake命令行也是可以编译android native库的。


参考官方文档给的说明 https://cmake.org/cmake/help/v3.7/manual/cmake-toolchains.7.html#cross-compiling-for-android-with-the-ndk

For example, a toolchain file might contain:

set(CMAKE_SYSTEM_NAME Android)set(CMAKE_SYSTEM_VERSION 21) # API levelset(CMAKE_ANDROID_ARCH_ABI arm64-v8a)set(CMAKE_ANDROID_NDK /path/to/android-ndk)set(CMAKE_ANDROID_STL_TYPE gnustl_static)

Alternatively one may specify the values without a toolchain file:

$ cmake ../src \  -DCMAKE_SYSTEM_NAME=Android \  -DCMAKE_SYSTEM_VERSION=21 \  -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a \  -DCMAKE_ANDROID_NDK=/path/to/android-ndk \  -DCMAKE_ANDROID_STL_TYPE=gnustl_static
需要注意的是,使用set方式,需要将这些set语句放到project() 之前,否则不起作用。

我试了好久才发现。


原创粉丝点击