我只是下载了android开源项目并尝试使用我收到消息来构建它:
build/core/prebuilt.mk:91: *** recipe commences before first target. Stop.
以下是相应的make文件片段(此处的第一行是第89行):
ifneq ($(prebuilt_module_is_a_library),)
ifneq ($(LOCAL_IS_HOST_MODULE),)
$(transform-host-ranlib-copy-hack)
else
$(transform-ranlib-copy-hack)
endif
endif
我不确定这个make文件有什么问题?第91行上的前一个空格是一个标签。
答案 0 :(得分:5)
Make对于空格和制表符非常敏感,它将缩进的行视为命令,因此您需要删除它们。例如。它应该是:
ifneq ($(prebuilt_module_is_a_library),)
ifneq ($(LOCAL_IS_HOST_MODULE),)
$(transform-host-ranlib-copy-hack)
else
$(transform-ranlib-copy-hack)
endif
endif
答案 1 :(得分:1)
我在 Ubuntu 16 上构建 AOSP 2.3.1,然后得到了与您相同的错误。 然后我将制作版从 v4.1 更改为 v3.81 ,请注意 v3.82 也是错误的版本。最后,我成功建立了AOSP!
答案 2 :(得分:1)
由于连续行后出现制表符,我得到了相同的错误消息:
SOURCES := a.cpp \
b.cpp \<tab><tab>
c.cpp \
d.cpp