【问题标题】:How to run a command before BUILD_EXECUTABLE is called in Android?如何在 Android 中调用 BUILD_EXECUTABLE 之前运行命令?
【发布时间】:2012-05-16 14:45:13
【问题描述】:

我正在 Android-4.0.4 (https://github.com/oNaiPs/droid-VNC-server) 上构建 droid-VNC-server。这个应用程序使用 cmake 创建一些头文件。 Android.mk 只是使用BUILD_EXECUTABLE Android 定义构建一些二进制文件。但首先我需要在内部目录droidvncdaemon/vnc/libvncserver-kanaka 中运行cmake。

  1. 我尝试使用CleanSpec.mk,但它的用途主要是清洁 out/ 构建之前的目录。
  2. 我尝试使用$(shell ...) 添加一个shell 命令,但我不知道 如何建立对BUILD_EXECUTABLE 目标的依赖。
  3. 也许我应该创建 droidvncdaemon/vnc/libvncserver-kanaka/Android.mk,但我没有 知道要输入什么来运行一个简单的 cmake 命令,并制作 droidvncdaemon/vnc/Android.mk 就靠它了。

有人知道吗?

【问题讨论】:

    标签: android build makefile cmake


    【解决方案1】:

    无需任何更改即可为 Android 构建基于 CMake 的应用程序。从http://code.google.com/p/android-cmake/ 获取工具链 并将其传递给您的 cmake 命令:

    cmake -DCMAKE_TOOLCHAIN_FILE=./path/to/android.toolchain.cmake ./path/to/your/source/tree
    

    【讨论】:

    • 谢谢。是的,就是这样。我需要遵循 android-cmake doc 中的所有内容来构建它。它起作用了:-),尽管我试图从 AOSP 官方来源为其提供 ndk 文件夹,但没有成功。那我不明白AOSP官方构建中的ndk/prebuilt/ndk文件夹是干什么用的。我的意思是它们不包含整个 ndk 的东西,而 cmake 就是不喜欢那样......
    • AOSP 中的 ndk 目录包含构建 NDK 所需的源代码。
    猜你喜欢
    • 1970-01-01
    • 2021-03-25
    • 2022-11-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-14
    • 2018-09-23
    • 2020-07-27
    • 2017-10-18
    相关资源
    最近更新 更多