Android.mk 调试输出

4
我正在构建Froyo,是否可能在构建过程中,通过make/python输出文件以及当前调用的命令。
例如,在其中一个Android.mk文件中,有一行代码: echo build success。 在监视器上它将显示“build success”, 我想要的是除此之外,它还能显示 “Android.mk第20行:echo build success”。
这种操作是否可行?
2个回答

2

Android的make comment消息解析器接受Android.mk文件中的info和warning标签。

例如,如果您想打印内部变量的值:

LOCAL_CFLAGS := -DHAVE_ERRNO_H -g
$(info value of LOCAL_CFLAGS is: $(LOCAL_CFLAGS))

该信息告诉编译器输出信息调试内容。

您也可以使用警告和错误做同样的操作。

$(warning value of LOCAL_CFLAGS is: $(LOCAL_CFLAGS))

会打印出突出显示的警告信息

以及

$(error value of LOCAL_CFLAGS is: $(LOCAL_CFLAGS))

会输出信息并停止构建。


2
我刚刚在编译Java+C++ Android应用程序时,使用$(info)时遇到了一个奇怪的效果: 我在主应用程序的Android.mk中使用$(info)输出一些有关条件编译的信息,但是当尝试调试程序的本机部分时,使用ndk-gdb失败了,因为显然$(info)的输出被ndk-gdb脚本读取了(使用get_build_var()和get_build_var_for_abi()函数)。结果是ndk-gdb脚本没有正确执行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接