如何在Android上使用mm-B避免干净的构建?

时间:2012-10-10 13:29:33

标签: android

我正在构建一个Android应用程序,其中包含大量具有Java-> JNI-> C代码序列的C模块。我目前正在外部文件夹中的Android baseport(Android源代码)中使用mm -B选项构建所有C模块。当我想构建所有C模块时,我将一个接一个地调用各个模块的mm -B功能。我在这方面有两个问题。

  1. 我想知道是否有办法在一组模块上进行增量构建。这里的场景是我从一个脚本一个接一个地构建一组模块。我观察到脚本中提到的所有模块都是建立的,无论是否对其进行了更改。这个干净的构建需要时间。有没有办法解决这个问题?

  2. 每当执行mm -B时,默认情况下,构建的库都放在out / target / product // obj / lib / path中。我想知道是否可以更改此路径,并且每当调用mm -B命令时,库都会复制到相应的模块路径而不是此公共路径。

  3. 我不太了解envsetup.sh,它具有这些mm和mmm函数的定义。

1 个答案:

答案 0 :(得分:0)

Q1:我观察到脚本中提到的所有模块都会被构建,无论是否对其进行了更改。这个干净的构建需要时间。有没有办法解决这个问题?

- > -B表示“无条件地制作所有目标”。因此,您可以尝试运行“mm”而不使用“-B”来查看它是否适合您。

Q2:我想知道是否可以更改此路径,并且每当调用mm -B命令时,库都会复制到相应的模块路径而不是此公共路径。我对envsetup.sh没有太多了解,它们具有mm和mmm函数的定义。

- >我认为这与envsetup.sh无关。如果要更改模块的输出目录,可能需要更改该模块的.mk文件。