领导给了个新sdk。然后开编。
编译的标准流程是这样
cd lichee
./build.sh config
这还得了,每次都选很烦(虽然只需要选一次),于是新写法是这样
./build.sh -p sun8iw5p1_android -k linux-3.4 -b evb
果断提示
ERROR: invalid board 'evb'
一顿百度+追脚本 最后定位到是
mkcommon.sh==>
if [ ${FLAGS_board} ] && \
! init_boards ${chip} ${board} ; then
mk_error "invalid board '${FLAGS_board}'"
exit 1
fi
mkcmd.sh ==> init_boards
改成如下:
function init_boards()
{
local chip=$1
local board=$2
local cnt=0
local ret=1
for boarddir in ${LICHEE_TOOLS_DIR}/pack/chips/${chip}/configs/* ; do
boards[$cnt]=`basename $boarddir`
if [ "x${boards[$cnt]}" = "x${board}" ] ; then
ret=0
export LICHEE_BOARD=${board}
fi
((cnt+=1))
done
return ${ret}
}
最后 问题解决。
编译安卓的时候遇到cmake版本问题,看网上一堆下载cmake。。。乱七八糟
最后修改如下
# Check for broken versions of make.
# (Allow any version under Cygwin since we don't actually build the platform there.)
ifeq (,$(findstring CYGWIN,$(shell uname -sm)))
#ifeq (0,$(shell expr $$(echo $(MAKE_VERSION) | sed "s/[^0-9\.].*//") = 3.81))
#ifeq (0,$(shell expr $$(echo $(MAKE_VERSION) | sed "s/[^0-9\.].*//") = 3.82))
$(warning ********************************************************************************)
$(warning * You are using version $(MAKE_VERSION) of make.)
$(warning * Android can only be built by versions 3.81 and 3.82.)
$(warning * see https://source.android.com/source/download.html)
$(warning ********************************************************************************)
#$(error stopping)
#endif
#endif
endif
根本不用下载cmake。哪里出错注释掉完事。固件编出来了。