【问题标题】:Include CMake project in AOSP build在 AOSP 构建中包含 CMake 项目
【发布时间】:2017-04-28 11:40:38
【问题描述】:

我有一个基于 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,我该怎么做呢?

【问题讨论】:

    标签: android-ndk cmake android-source


    【解决方案1】:

    不能在 AOSP 构建系统中构建 cmake 项目。

    【讨论】:

    • 感谢您的意见。您是否对未来将 CMake 功能集成到构建系统的计划有所了解?
    • 没有计划。这通常不是我们在 AOSP 中采用的方法。如果我们只是用自己的构建语言重写构建文件,而不是尝试将少数不同的构建系统混合和匹配到一个构建中,系统会更好地工作。
    【解决方案2】:

    作为记录,以防将来有人偶然发现:似乎有一个解决方案,虽然它很老套 - 请参阅 Build gradle system app as part of AOSP build 以供参考。这个方案貌似可行,但是解析makefile时直接启动gradle/cmake构建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      • 2020-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多