在 Android.mk 文件中,phony 包类似于伪目标,它们不代表任何文件或实际的编译命令。这些目标旨在提供一种简便的方法来构建整个项目或者特定的应用程序。然而,有些情况下,使用 mma 构建这些伪目标可能会成功,但使用 make 命令失败。这种问题的解决方法是将 .PHONY 声明添加到该目标旁边的行。
例如,假设我们需要构建名为 "my_app" 的应用程序。我们使用以下代码添加伪包到 Android.mk 文件中:
my_app:
$(hide) echo "Building my_app"
然后,我们可以使用以下命令来构建该应用程序:
make my_app
但是,如果这个目标无法用 make 构建,则需要将其标记为“phony”。修改后的代码如下所示:
.PHONY: my_app
my_app:
$(hide) echo "Building my_app"
然后,无论是使用 make 还是 mma,都可以成功构建 my_app 应用程序。
make my_app
mma my_app