1、安装虚拟机及Ubuntu
我使用的虚拟机为VMware Workstation Pro 15.5.0 build-14665864
镜像为:ubuntu 9.3.0-17ubuntu1~20.04 Linux version 5.4.0-52-generic
这一类安装方法网上特别多,这里就暂且略过。
2、从鸿蒙gitee仓库获取最新源码
获取镜像的方法有多种,我推荐采用repo这种方法,因为这样可以获取到最新的源码,但是也有一定的坏处,大家都知道鸿蒙组织中有大量仓库。
[attach]980036[/attach]
如果要编译一个完整的镜像需要获取多个仓库的代码并一起编译,但是每个仓库由不同的组织和团队负责,例如A仓库的团队对该仓库做了接口层面的更改,其他仓库并未及时更新,这是如果你进行了同步就可能导致无法进行编译,但是这样的几率很小。
那为什么不把这些文件放到一个仓库中呢?这样的话一个git指令即可全部下载
1、这么多的仓库代码量巨大,放在一个仓库中不便于管理和维护,例如你是开发板厂家,需要添加一个关于你的开发板的支持,你只需修改并申请合并到vendor仓库即可。
2、有的代码不一定能用到,分开放置可以选择性下载。
如果不使用repo工具如何得到所有的环境和代码呢?
你可以通过https://openharmony.gitee.com/openharmony/docs/blob/master/get-code/源码获取.md中的获取方式一下载全量代码压缩包。
这里我使用repo获取源代码。
1、Ubuntu环境中安装git工具并根据gitee上密钥等信息进行配置。
2、安装repo工具
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo 下载repo工具到/usr/local/bin/repo目录
chmod a+x /usr/local/bin/repo 添加可执行权限
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests 安装python库
3、开始同步gitee中的代码到本地
cd 你想存放代码的目录
repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo sync -c
耐心等待片刻,即可完成。
4、搭建环境
参考官方文档:https://gitee.com/openharmony/docs/blob/master/quick-start/搭建环境-0.md
5、使用python脚本编译镜像
在源码目录中输入python build.py即可看到编译选项,输入如下选项即可为Hi3516编译镜像
python build.py ipcamera_hi3516dv300
6、安装VSCODE
打开该网站即可下载 https://code.visualstudio.com/Download
一路Next即可完成安装
7、安装VSCODE插件需要的环境
注意:Java要求1.8版本(该版本的JDK我在附件中为大家上传)
这里教大家一个小技巧,在PC上配置多个版本的JDK
比如我之前使用jdk14,但是现在为了安装鸿蒙插件,需要使用jdk8,首先到C:WindowsSystem32目录下删除以下文件:
java.exe等java相关文件,有可能没有。
修改之前的JAVA_HOME为对应版本,例如我的JAVA14,修改为JAVA_HOME_14,添加JAVA8的所在路径到JAVA_HOME_8路径下,最终效果如下图所示:
添加JAVA_HOME变量,值为你想使用的版本,例如我现在需要使用JAVA8,修改如下:
删除PATH环境变量中的C:Program Files (x86)Common FilesOracleJavajavapath,有可能没有。
添加两行%JAVA_HOME%bin %JAVA_HOME%jrebin,最终效果如下图所示:
之后想切换版本只需要修改JAVA_HOME的值即可。
其余操作按官方文档进行即可:https://device.harmonyos.com/cn/docs/ide/user-guides/tool_install-0000001050164976
8、烧录镜像
通过“共享文件夹”或者“FileZillaClient”等方式将第5步Ubuntu中编译出来的out/ipcamera_hi3516dv300目录下的所有文件拷贝至window中,根据官方文档
https://gitee.com/openharmony/docs/blob/master/quick-start/开发Hi3516第一个应用程序示例.md 即可完成烧录。