鸿蒙hi3516DV300环境搭建及代码拉取编译
本⽂介绍鸿蒙编译环境的搭建,以及本⼈在过程种遇到的坑;
⽂章⽬录
搭建Ubuntu
使⽤Windows10的WSL的Ubuntu⼦系统,⽹上有很多安装的分享,这⾥不做介绍,也可按照以下InsStep直接安装,默认安装是安装在系统盘下的,具体路径如下,所有Ubuntu的内容都在这个路径下。
C:\Users\username\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\rootfs
1. 打开设置->安全和更新->开发者选项,选择为“开发⼈员模式”;
2. Win + R运⾏control appwiz.cpl指令,在启⽤或关闭Windows功能中勾选适⽤于Linux的Windows⼦系统和虚拟机平台两项启⽤,重
启;
3. 微软商店搜索Ubuntu安装,安装完毕直接启动并设置初始⽤户名密码便可以进⼊Ubuntu⼦系统;
这⾥介绍⼀下如何将安装好的Ubuntu⼦系统从系统盘迁移到指定的⽬录,本⽂将其迁移到D:\Ubuntu⽬录下。
Ubuntu⼦系统安装成功后,进⾏迁移操作,操作如下:
1. 需要下载LxRunOffline,下载地址,下载⽂件LxRunOffline-v3.5.0-mingw.zip,然后解压到某个⽬录中
2. 设置环境变量,在系统变量Path中添加LxRunOffline解压的⽬录(.exe所在的⽬录)
3. 重启电脑,使环境变量⽣效
4. Win + R运⾏cmd,输⼊LxRunOffline,如果显⽰下⾯的提⽰证明已经安装成功了
5. Win + R运⾏cmd,输⼊LxRunOffline list查看⼦系统版本
6. 复制上⾯的版本号,然后输⼊LxRunOffline move -n {version} -d {dir},{version}是版本号,{dir}是迁移⽬的⽬录,⽐如本⽂是
20版本,迁移到D盘Ubuntu⽬录下,LxRunOffline move -n Ubuntu-20.04 -d D:\Ubuntu,然后回车,等待迁移完成,10分钟左右
这样就将Ubuntu的迁移到指定⽬录下
(由于ubuntu LTS版本的限制,导致编译速度贼慢,可以⽤VMware或者VMbox,进⾏ubuntu的搭建,设置处理器个数,编译⼀把⼤概5-6分钟)
安装必要的软件
搭建基础环境
安装和配置Python
1. 打开Linux编译服务器终端。
2. 输⼊如下命令,查看python版本号,需使⽤python
3.7以上版本。
python3 --version
由于我们安装的是Ubuntu20.0的版本,因此直接执⾏如下命令
sudo apt-get install python3.8
3. 设置python和python3软链接为python3.8
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
4. 安装并升级Python包管理⼯具(pip3)
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip
安装gn
参照上述官⽅⽂档
安装ninja
参照上述官⽅⽂档
安装hc-gen
参照上述官⽅⽂档
安装LLVM
参照上述官⽅⽂档
安装hb
参照上述官⽅⽂档
安装Hi3516DV300依赖环境
将Linux shell改为bash
查看shell是否为bash,在终端运⾏如下命令
ls -l /bin/sh
如果显⽰为“/bin/sh -> bash”则为正常,否则请按以下⽅式修改:
sudo dpkg-reconfigure dash
(tip:注意这⾥是默认是dash⽽不是bash,不要看⾛眼了,还是需要更改的)
安装编译依赖基础软件(仅Ubuntu 20+需要)
执⾏以下命令进⾏安装:
sudo apt-get install build-essential &&sudo apt-get install gcc &&sudo apt-get install g++ &&sudo apt-get install make&&sudo apt-get install zlib* &&sudo apt-get install libffi-dev
安装⽂件打包⼯具
1. 打开Linux编译服务器终端
2. 运⾏如下命令,安装dosfstools更新鸿蒙系统
sudo apt-get install dosfstools
3. 运⾏如下命令,安装mtools
sudo apt-get install mtools
4. 运⾏如下命令,安装mtd-utils
sudo apt-get install mtd-utils
安装Java 虚拟机环境
1. 打开Linux编译服务器终端
2. 安装Java运⾏时环境(JRE)
sudo apt-get install default-jre
3. 安装Java sdk开发⼯具包
sudo apt-get install default-jdk
编译鸿蒙主⼲代码
安装repo⼯具
安装码云repo⼯具,可以执⾏如下命令
curl gitee/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo  #如果没有权限,可下载⾄其他⽬录,并将其配置到环境变量中
chmod a+x /usr/local/bin/repo
pip3 install -i repo.huaweicloud/repository/pypi/simple requests
主⼲代码的拉取
通过刚才安装的repo下载主⼲代码
repo init -u gitee/openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
环境搭建中遇到的问题
1. ⼀般按照如上操作下来,不看⾛眼,依赖的⼯具和软件都是可以正常安装下来的;
2. 在下载代码的时候会出现,faltal:early EOF,提⽰是失败的意思
解决:这是由于引⽤的 kerel_linux的内容太多了,导致下载失败,可以在如下的xml⽂件中删除linux_ke
rnel所在⾏ .repo//l
3. 在编译中报错FAILED: libhota.so unstripped/usr/lib/libhota.so,如下图:
解决:这是由于在拉取代码的时候,只执⾏了如下拉取命令:
repo init -u gitee/openharmony/manifest.git -b master --no-repo-verify
repo sync -c
并没有执⾏如下命令:(只要再执⾏如下命令,再编译即可)
repo forall -c 'git lfs pull'