我在构建Android源代码时遇到了一些问题。终端上没有返回任何明确的错误。我如何获取要搜索的构建的完整日志?
答案 0 :(得分:2)
如EyalBellisha所述,添加showcommands
来实现目标通常很有用。 make通常会回显它运行的确切命令(除非使用-s
,--silent
或--quiet
调用),但Android的构建系统通过在@
前添加每个命令来隐藏它。添加showcommands
作为目标会禁用此功能,将行为恢复为make的标准行为。
在某些情况下,使用并行线程构建(即使用-jN
运行make, N > 1)可能会使echoed命令与构建失败的命令相关联。暂时删除-j
选项会有所帮助。
一旦有了违规命令,您可以手动运行它以进一步调试问题。理论上存在一个风险,它依赖于make设置的环境变量,这使得很难重现确切的执行环境,但我不认为Android的makefile会设置这样的环境变量,所以你可能还可以。
如果您认为make没有正确评估规则并且这会导致错误(不太可能),那么-d
和--debug
选项会很有用。前者打开所有调试输出(Android版本的大量文本墙),您可能希望使用--debug
缩小范围。
答案 1 :(得分:0)
您可以使用make showcommands
。
它为您提供了更详细的输出。