获取 rockchip 官方 rk3399 SDK 后,需要将其放到公司服务器上,重新建 git 仓库,并需编译通过。在这过程中遇到了些问题,在此记录下解决方法。
1 missing manifest.xml
编译 rk3399 源码时报如下错误:
ninja: Entering directory `.'
ninja: error: 'manifest.xml', needed by 'out/target/product/rk3399_all/system/manifest.xml', missing and no known rule to make it
通过对代码的查找(这块配置一般在device目录下),找到如下图所示段,同时,找了下代码没有对应的 manifest.xml 文件,因而可以将 SYSTEM_WITH_MANIFEST 置位 false 即可。
2 编译 version.c 报错
[ 51% 23079/44507] build out/target/product/rk3399_all/gen/EXECUTABLES/iw_intermediates/version.c
FAILED: /bin/bash -c "external/iw/version.sh out/target/product/rk3399_all/gen/EXECUTABLES/iw_intermediates/version.c"
fatal: No names found, cannot describe anything.
分析解决:
查看 external/iw/version.sh 文件,内容如下图所示,其走 git 获取 version ,这里我们可以让其走 else,直接用当前的 VERSION 值即可。可按如下方式修改:
#if [ -d .git ] && head=`git rev-parse --verify HEAD 2>/dev/null`; then
if [ -d .git ] && head=`git rev-parse --verify HEAD 2>/dev/null` && [$VERSION != "4.1"]; then