在 AOSP 构建中包含 CMake 项目

Include CMake project in AOSP build

我有一个基于 android-ndk 的应用程序,它是用 cmake 构建的,我想将该项目集成到 AOSP 构建中并将其包含在生成的 android 图像中。但是似乎无法在 AOSP 构建系统中直接启动 cmake 构建。

例如在android-7.1.1._r35 源代码树中,zlib-external 有一个CMakeLists.txt,但另外还有一个Android.mk 文件,这似乎实际上是用于使用 AOSP 而不是 cmake 进行编译。构建说明在两个文件中重复:

external/zlib/src/CMakeLists.txt
external/zlib/Android.mk

由于该项目有相当多的源文件(~1500 cpps),我试图避免转换和维护额外构建系统的繁琐任务。

是否可以从基于 Android.mk 的构建系统调用 cmake 构建,或者我是否必须编写 Android.mk 文件来构建我的应用程序?如果cmake可以调用,怎么调用?

无法在 AOSP 构建系统中构建 cmake 项目。

郑重声明,以防将来有人偶然发现此问题:似乎有解决方案,尽管它很老套 - 请参阅 以供参考。此解决方案似乎可行,但 gradle/cmake 构建是在解析 makefile 时直接启动的。