3

几天前我制作了一个 AOSP 版本 7.1.1,它运行良好。今天我决定做一个干净的构建(make clean)并开始工作。之后,当我尝试编译make otapackage一段时间后,它给了我以下错误。

[ 44% 7552/17136] build out/target/product/hikari/gen/EXECUTABLES/iw_intermediates/version.c
FAILED: /bin/bash -c "external/iw/version.sh out/target/product/hikari/gen/EXECUTABLES/iw_intermediates/version.c"
fatal: No names found, cannot describe anything.
ninja: build stopped: subcommand failed.
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1

#### make failed to build some targets (01:39:34 (hh:mm:ss)) ####

每次,都是一样的。有什么解决办法吗?

4

1 回答 1

3

尝试检查 git 版本号时失败。在 external/iw/version.sh 内部,当它到达时失败:

描述=$(git描述--match=v*):

if [ -d .git ] && head=`git rev-parse --verify HEAD 2>/dev/null`; then
        git update-index --refresh --unmerged > /dev/null
        descr=$(git describe --match=v*)
        # on git builds check that the version number above                                     
        # is correct...                                                                         
        [ "${descr%%-*}" = "v$VERSION" ] || exit 2

        v="${descr#v}"
        if git diff-index --name-only HEAD | read dummy ; then
                v="$v"-dirty
        fi
else
        v="$VERSION"
fi
echo '#include "iw.h"' > "$OUT"
echo "const char iw_version[] = \"$v\";" >> "$OUT"

我遇到了同样的问题,有两种方法可以解决:

  1. 您可以注释掉除 v="$VERSION" 和最后两个回显行之外的所有内容。但这是一个临时修复。

  2. 解决此问题的另一种方法是在执行 make 之前进行 repo 同步。我通过简单地进行回购同步来修复它,并为我更新和修复了所有内容。

于 2016-12-28T20:27:29.260 回答