【问题标题】:NDK: Android.mk / GNU MakeNDK:Android.mk / GNU Make
【发布时间】:2011-10-08 08:38:46
【问题描述】:

我的 NDK 项目的 Android.mk 包含数百个 CPP 文件,我从中构建了大约十几个静态库,最后是一个共享库。到目前为止,我的大部分开发经验都是在 Windows 上进行的,所以我对 Linux、GNU Make 等不是很熟悉。

当我向 Android.mk(即 LOCAL_SRC_FILES)添加新的 CPP 文件时,发出 ndk-build 会重建我的所有文件,显然是因为 Android.mk 发生了变化,并且它引用了所有 CPP 文件。有没有办法避免这种情况?假设我为每个静态库创建了一个单独的文件,每个这样的文件都会将该库的 CPP 文件添加到 LOCAL_SRC_FILES 并包含在 Android.mk 中。这是否会导致只重建包含文件被修改的库?这实际上是我的第一次尝试,但我在某个地方出现了严重错误,并且由于构建不再成功而不得不重新开始(这就是为什么我在重试之前询问的原因)。

假设上述方法是合理的,包含文件与包含/包含文件中设置的变量的范围/生命周期有何关系?

仍然希望有人能回答这个问题...

【问题讨论】:

标签: android makefile android-ndk


【解决方案1】:

首先尝试将您的项目拆分为多个 android.mk 文件,而不是一个。每次更改其中一个时,它都会限制重新编译步骤。 然后试试这个ndk-build -o <your_android.mk>。例如:

ndk-build -o jni/Android.mk

参考:How to prevent Android native project full rebuild after changing Android.mk?

【讨论】:

    猜你喜欢
    • 2010-12-17
    • 2019-03-11
    • 1970-01-01
    • 2023-01-20
    • 2015-08-17
    • 2015-05-09
    • 2014-07-08
    • 2013-06-19
    • 2011-05-06
    相关资源
    最近更新 更多