【问题标题】:Android NDK incremental buildAndroid NDK 增量构建
【发布时间】:2011-05-18 17:16:07
【问题描述】:

我目前正在使用大量 C++ 代码开发一个大型 Android 应用程序。 它编译并运行,到目前为止一切顺利。

不幸的是,每次我修改本地源代码结构中的某些内容(添加/删除/重命名/移动文件)时,这种情况经常发生,ndk-build 会重新构建整个源代码,甚至未触及的文件。

有谁知道我可以如何设置 Android NDK 以某种方式逐步构建?

提前致谢

【问题讨论】:

  • 我不知道有什么这样做的。我很想知道是否有解决方案。我一直在找一个

标签: android android-ndk android-ndk-r4 incremental-build


【解决方案1】:

我厌倦了 NDK 构建系统,研究了一会儿,然后编写了自己的 makefile。这并不难。

但是,随后有人向我指出,通过这样做,我必须负责跟踪平台的未来变化,例如,如果需要为其他处理器类型发送二进制文件,我必须修改我自己的构建解决方案来做到这一点。

在其他情况下,有时我的项目具有两个构建系统 - 一个用于快速实验,另一个用于可部署构建。不时更新所花费的时间在日常工作的速度增益中节省了很多倍。如果我必须至少每周或每两周进行一次真正的构建,那么事情的一致性永远不会太差(并且两个构建脚本都在修订控制系统中,所以有历史要检查)。像这样的事情可以通过自定义 makefile 来进行调试构建,并且仍然使用 NDK 构建系统来部署可部署的包。

(在一个在平台允许的范围内进行大量实验的情况下,我实际上让我的 makefile 将更新的 .so 推送到设备上,并为我的应用程序提供了一个不鼓励的硬退出按钮,所以我可以使用更新的本机库重新启动它,甚至无需重新构建和重新安装 apk)

【讨论】:

  • 如果可能,请分享更多关于构建我们自己的makefile的过程以及如何处理Android特定宏等的信息。
  • @Midson - 使用 V=1 选项运行 ndk make 脚本以获得详细输出。将结果复制到编辑器中,然后开始将其拆分为 makefile 变量的传统类别。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-27
  • 1970-01-01
  • 1970-01-01
  • 2012-06-26
  • 2018-01-16
相关资源
最近更新 更多