Android AOSP生成错误:可执行文件/iw_中间文件/version.c

Android AOSP生成错误:可执行文件/iw_中间文件/version.c,android,android-source,custom-rom,Android,Android Source,Custom Rom,几天前我做了一个AOSP构建7.1.1,它运行得很好。今天我决定创建一个干净的构建(makeclean)并开始工作。之后,当我试图通过makeofatapackage进行编译时,经过一段时间后,它给出了以下错误 [ 44% 7552/17136] build out/target/product/hikari/gen/EXECUTABLES/iw_intermediates/version.c FAILED: /bin/bash -c "external/iw/version.sh out/ta

几天前我做了一个AOSP构建7.1.1,它运行得很好。今天我决定创建一个干净的构建(
makeclean
)并开始工作。之后,当我试图通过
makeofatapackage
进行编译时,经过一段时间后,它给出了以下错误

[ 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)) ####

每次都一样。有什么解决方案吗?

当它试图检查git版本号时失败了。 在external/iw/version.sh内部,当它到达以下位置时失败:

descr=$(git descripe--match=v*):

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

  • 您可以注释掉除v=“$VERSION”和最后两个之外的所有内容 回音线。但这是临时修复

  • 另一种解决方法是在执行make之前进行回购同步。我通过简单的回购同步来修复它,并更新和更新了它 帮我把一切都修好了

  • 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"