1

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

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

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

我对定义这些 mm 和 mmm 函数的 envsetup.sh 知之甚少。

4

1 回答 1

0

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

--> -B 表示“无条件地生成所有目标”。所以你可以尝试在没有“-B”的情况下运行“mm”,看看它是否适合你。

Q2:我想知道我们是否可以更改此路径,并且每当调用 mm -B 命令时,将库复制到相应的模块路径而不是此公共路径。我对定义这些 mm 和 mmm 函数的 envsetup.sh 知之甚少。

--> 我觉得跟envsetup.sh没有关系。如果要更改模块的输出目录,您可能需要更改该模块的 .mk 文件。

于 2013-09-21T01:04:28.750 回答