1【OpenHarmony样例】基于RK3399开发板开发的分布式画板 2 3一.概述 4 5本应用是基于RK3399E开发板,使用开源OpenHarmony3.0-LTS开发的应用。通过OpenHarmonyOS的分布式技术,使多人能够一起画画。 6 71.应用运行效果图: 8 9 10 112.分布式画板使用示意图 12 13 14 15如上图所示,用户1、用户2在各自本地端进行绘制,将当前的图形保存到分布式文件中。远程端当接到分布式数据库发生改变时,获取分布式数据库存储的文件名,然后进行加载图形文件,显示本地端绘制的图形。 16 173.涉及OpenHarmony技术特性 18 eTS UI 分布式流转 19 204.基础信息 21 22开发平台 系统类型 系统版本 23 24软通“扬帆”富设备开发板 标准系统 3.1Beat 25 26二.快速上手 27 28应用安装包 29 301.硬件环境准备 31 32 预装windows系统的PC机 33 34 扬帆RK3399E开发板 35 36 开发板专用12V电源适配器 37 38 USB公对公数据连接线 39 40 USB外接摄像头 41 42 HDMI显示器 43 442.开发环境准备 45 46 下载DevEco Studio 3.0 Beta1及以上版本 47 48 配置OpenHarmonySDK 49 50 创建OpenHarmony工程 51 52 配置OpenHarmony应用签名信息 53 54 安装运行OpenHarmony应用 55 563.功能开发 57 58 目录 59 60 资源引用 61 62 定义资源文件 63 64 在src/main/resources/目录下,根据不同的资源类型,定义资源文件。 65 66{ 67 "name": "brush_width", 68 "value": "画笔宽度" 69} 70 71引用资源 72 73 在有对应page的ets文件中,可直接通过$r()引用。 74 75Text($r('app.string.brush_width')) 76关键代码 77 78主界面,设备流转:index.ets 79 80图层管理:view/layer.ets 81 82设置:view/setting.ets 83 84画板界面:view/canvas.ets 85 86系统镜像编译及烧录 87 88Linux编译服务器基础环境准备 89 90开发基础环境由windows 工作台和Linux 编译服务器组成。windows 工作台可以通过samba 服务或ssh 方式访问Linux编译服务器。其中windows 工作台用来烧录和代码编辑,Linux编译服务器用来编译OpenHarmony代码,为了简化步骤,Linux编译服务器推荐安装Ubuntu20.04。 91 92 931.安装和配置Python 94 95打开Linux终端,输入如下命令,查看python版本号,需要使用python3.7以上版本,否则参考 系统基础环境搭建。 96 python3 --version; 97 98安装并升级Python包管理工具。 99 100 sudo apt-get install python3-setuptools python3-pip -y 101 sudo pip3 install --upgrade pip 1022.安装LLVM 103 104下载LLVM工具。 105 106 解压LLVM安装包至~/llvm路径下。 107 108 tar -zxvf llvm.tar -C ~/ 109 110设置环境变量。 111 112 vim ~/.bashrc 113 114 将以下命令拷贝到.bashrc文件的最后一行,保存并退出。 115 116 export PATH=~/llvm/bin:$PATH 117 118使环境变量生效。 119 120 source ~/.bashrc 121 1223.安装hc-gen 123 124打开Linux编译服务器终端。 125 126下载hc-gen工具。点击下载地址下载。 127 128解压hc-gen安装包到Linux服务器~/hc-gen路径下。 129 130tar -xvf hc-gen-0.65-linux.tar –C 131 132设置环境变量。 133 134vim ~/.bashrc 135 136将以下命令拷贝到.bashrc文件的最后一行,保存并退出。 137 138 export PATH=~/hc-gen:$PATH 139 140使环境变量生效。 141 142 source ~/.bashrc 143 1444.安装编译依赖基础软件(仅Ubuntu 20+需要) 145 146 sudo apt-get install build-essential 147 148 sudo apt-get install gcc 149 150 sudo apt-get install g++ 151 152 sudo apt-get install make 153 154 sudo apt-get install zlib 155 156 sudo apt-get install libffi-dev 157 1585.源码下载&&编译准备 159 160环境搭完后,就该准备代码了。 161 162下载repo 163 164curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo 165 166chmod a+x /usr/local/bin/repo 167 168pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests 169 170 下载OpenHarmony源码和编译 171 1721. 代码下载 173 174 175ssh方式:repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify 176 177http方式:repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify 178 179repo sync -c 180 181repo forall -c 'git lfs pull' 182 183bash build/prebuilts_download.sh 184 185 1862. 编译 187 188./build.sh --product-name rk3399 –ccache 189 190 1913. 编译结果 192 193编译产生boot.img在目录out/KERNEL_OBJ/kernel/src_tmp/linux-4.19 中。 194 195编译产生vender.img、system.img 和userdata.img 在目录 196 197out/rk3399/packages/phone/images 中。 198 1994. 烧录 200 2011.系统环境 202 203window7/windows10。 204 2052.驱动安装包 206 207瑞芯微软件助手安装包,需解压安装。 208 209 2103.烧录工具 211 212瑞芯微开发工具。 213 214 2154.烧录镜像 216 217debian_update.img。 218 2195.烧录前准备 220 221拿到开发板后,第一次烧录鸿蒙系统前,要先进行整体擦除后,对系统分区,再烧录镜像。 222 223擦除flash 224 225点击升级固件按钮。 226 227 228选择固件。 229 230 231打开并选择烧录镜像。 232 233 2346.进入烧录模式 235 236 擦除flash前,要先使板子进入烧录模式,方法如下: 237 238 板子上电。 239 240 板子在烧录鸿蒙系统前,如果有其他系统,上电后会显示发现一个ADB设备。 241 242 243 先长按uboot按钮,再按一次reset按钮后松开,等待板子显示“发现一个LOADER设备”,板子进入烧录模式。 244 245 246点击擦除flash按钮,开始擦除。 247 248擦除完成后,显示如下: 249 250 251 2527.第一次烧录 253 254 第一次烧录鸿蒙系统,要先加载全部镜像。 255 256 进入下载镜像页面。 257 258 259 在空白处点击右键,选择导入配置,选择ohos.cfg。 260 261 262 导入配置表后如下图所示 263 264 265 2668.烧录鸿蒙镜像 267 268 烧录鸿蒙镜像,只需选中boot、vendor、system、userdata,其他分区不选中。 269 270 271 272 boot、vendor、system和userdata对应的是编译出的img。 273 274