从零开始搭建OpenHarmony开发环境 原创
安装虚拟机
选择安装光盘映像文件(映像自行下载),如果没有这一步可能会出现找不到系统
按照指示内容填写(其余的可以直接默认选项)
完成以后等待安装需要的时间会比较长
在完成虚拟机配置的过程中我因为下载源的问题,配置失败,报错无法解决。于是我卸载了重新在官网下载Ubuntu。
在终端输入这个指令的时候:
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo
出现了报错:
解决用户权限的方法
安装hb
hb是编译用的一个构建工具,编译的时候,hb set 选择目标开发板,hb build进行编译。
#安装hb
python3 -m pip install --user ohos-build
#将pip包bin文件所在目录添加到PATH:
echo 'export PATH=~/.local/bin:$PATH' | tee -a ~/.bashrc
#生效环境变量
source ~/.bashrc
#检查是否安装成功
hb -h
安装成功会显示下图:
有可能输入 hb -h 的时候成功了,但是使用hb set的时候出现
出现这种原因是因为问题就在于导入错误:无法从“集合”导入名称“映射”。因为Python3.10版本以后对requests库进行调整,collections中不能直接调用方法Mapping,MutableMapping
解决方法:
在文件夹中找到用黄色高亮的文件夹然后根据报错语句修改:
from collections import Mapping
#修改为
from collections.abc import Mapping
#即用collections.abc代替collections调用方法Mapping、MutableMapping
再次进行hb set
安装成功!
Ubuntu编译环境配置
1.1修改镜像源
用国外的源下载速度会很慢,修改镜像源会提升下载速度。
在Ubuntu打开“软件和更新”,选择华为镜像
1.2下载源代码
安装git
填写自己的用户名和邮箱
sudo apt-get install git
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
安装git-core和git-core curl
sudo apt-get install git-core
sudo apt-get install git-core curl
安装主要源码
安装源码我是用的FSR实验室的安装包,下载很快,没有按照官网教程。按照开源社区下载源码我报错很多,而且也很慢。
仓库链接OpenHarmony v3.0.2 LTS (2022-03-18)
Samba安装:将OpenHarmony的文件映射到Windows当中
安装Samba
sudo apt-get install samba
完成后如上图所示,然后在下图中找到(新建)samba文件夹
创建一个共享文件并且给文件设置权限。
在root权限下面操作下列步骤
root 权限切换
给root用户设置,命令“sudo passwd root ”
sudo passwd root
然后进行 su root 就可以进入root用户了
su root
想要切换为普通用户的时候
su user(用户名)
在root权限下输入
vim /etc/samba/smb.conf
然后在最后一行加入下面语句(输入i表示插入)
[harmony]
comment = harmony
path = /home/harmony/harmony/code/code-1.0
writeable = yes
valid user = harmony
//harmony 是Ubuntu中的账户,可根据自己的系统登录账户更换
加完以后按“esp”然后输入“:wq”保存退出。
添加用户
sudo smbpasswd -a harmony
#重启服务器
service smbd restart
查看IP地址,ifconfig -a 如果报错就按照下图提示操作
主机操作
然后操作成功
可以在Windows上看到与UBuntu共享文件。
可以参考一下
同学,是OpenHarmony呦~:)
好的,谢谢提醒
安装hb的时候跳出来这样的提示
sagg@ubuntu:~$ echo 'export PATH=~/.local/bin:$PATH'|tee -a ~/.bashrc export PATH=~/.local/bin:$PATH
sagg@ubuntu:~$ source ~/.bashrc
sagg@ubuntu:~$ hb -h Traceback (most recent call last):
File "/home/sagg/.local/bin/hb", line 8, in sys.exit(main())
File "/home/sagg/.local/lib/python3.8/site-packages/hb/main.py", line 49, in main topdir = find_top()
File "/home/sagg/.local/lib/python3.8/site-packages/hb/main.py", line 37, in find_top raise Exception("Please call hb utilities inside source root directory") Exception: Please call hb utilities inside source root directory
这样该怎么解决呢?