【开发实录】云服务器里面从零构建鸿蒙OS 原创 精华
从零系列-1
------
7月26日,受邀更新,新版本的harmony配套开发ide已经在beta测试阶段,欢迎大家使用。
此文章的方法已经成为时代的眼泪,大家可以不用看啦...
大家好~我是RYC~这两天收到社区寄来的板子啦~十分感谢社区、大佬和鸿蒙~
用云服务器+Vim+git就能完美搞定问题。具体流程如下:
1·SSH到 server
2·打开screen进程
3·用vim完成代码修改
4·编译,把bin文件git上去
5·在笔记本把bin文件git下来并编译
而且最重要的是!就算你不小心忘带电脑了,想coding了,直接ssh即可,代码和环境都在云端,根本不怕没有代码,没办法Coding【DOGE】
Q:不就搭建个环境吗?用的着单独写一个教程?官方不都有ubuntu搭建教程了吗?你这个是不是水啊!
A:搭建环境,那倒是,但是别忘了,我们使用的是云服务器,里面的ubuntu版本是ubuntu-server,与自己的个人电脑不一样的地方很多的!要是直接照搬官方教程,一定会失败的,一不小心就会前功尽弃,不像虚拟机能够回退镜像,只能够自己修复,为了防止大家陷入【无限重装】的阴影当中,所以我才打算把这些经验分享一下~
------------------------------------------分割线---------------------------------------------------------------------------------------------------------------------------------
下面,就开始从SSH登录到编译完成的
从零开始教学~
首先,我们要先选择一台并且下单~然后一般情况下,商家会展示两个东西,一个是{ROOT密码/Root Password},一个是{IP地址}。
ip地址大家可以理解为门牌号,可以在网络中任何一个位置通过这个地址来寻找到我们的那一台主机
而root密码则是我们的ssh登录时要用到的,其实就是主机的密码!
我们可以在ubuntu系统下,使用ssh命令登录。
ssh root@IP
如上所示,root表示的是root用户,后面的ip则是server的ip。
敲击回车后,如果ip没有输入错误,会弹出一个提示,这个提示是“为了确定你连接的是你的”,大家直接输入yes后回车即可。
然后则会弹出一个让你输入密码的指示,直接输入密码后回车即可成功登录。(这里需要注意,linux系统下,输入密码的时候是不会有任何反应的,也就是说,你看不到任何反馈,不用担心,直接登录就可以!)
如果你是windows,也可以使用xshell一类的工具,这些工具就不再赘述啦~
----
像这样就是成功登录啦!可以看到,在终端的开始,用户名改变了~现在大家输入的每个操作,都是在操作这个!
----
首先,我们得先创建一个“工作目录”,在这个目录里面进行代码以及工具的配置。
mkdir code
cd code
在创建完成目录以后,我们就可以按照官方教程来进行了。
步骤一:将终端改为BASH
如下图
ls -l /bin/sh
sudo dpkg-reconfigure dash
直接复制粘贴即可,在选择【no】后退出。
我们一定不要忘记这个步骤,在后面工具安装的时候,会为大家介绍原由
步骤二:创建screen终端,防止工具安装时因意外退出
直接使用
screen -S harmony
-如果提示找不到,请使用:
apt install screen
----
如果意外退出,不要慌张,只需要再次进入,然后使用
screen -r harmony
即可登录!
屏幕会清空~
步骤三:更正python的版本,防止编译工具无法安装、编译出错
如果python版本<python3.8,亦或者如图中这样出现了无法找到python等信息,则需要进行。如果python版本大于3.8则可以跳过本步骤。
由于是ubuntu-server,所以基本上不会内置python3.8所以需要大家自己手动安装~
sudo apt-get install python3.8 -y
which python3.8
这里会返回一个路径
cd /usr/bin && sudo rm python && sudo ln -s 把上面返回的内容粘贴到此处后回车运行 python && python --version
ln -s /usr/bin/python3.8 python && python --version
最后会返回一个python版本号。
步骤四【坑点!】:pip3的安装
大家到这一步,一定会选择通过apt安装pip3,但是,,,有问题!
根据实际测试,apt安装python3-pip十有八九会出现错误,不信你可以使用pip3 -V这条命令看一看,这个下面的路径可能不会是python3.8的路径》。。
所以我建议大家在此使用安装包编译~
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
当然,用apt也不是不行,你到时候再卸载就行【doge】
步骤五:安装一系列python库以及工具
这步骤没坑,大家复制粘贴即可
pip3 install setuptools
sudo pip3 install kconfiglib
sudo pip3 install pycryptodome
sudo pip3 install six --upgrade --ignore-installed six
sudo pip3 install ecdsa
sudo apt-get install scons -y
啥,难道你以为这步就结束啦?事情没有那么简单!
经过之前我无数次踩坑,和无数次重装系统,每一次都会失败。
在最后看日志的时候,才发现,根本没有crypto!
然而在ubuntu桌面的电脑上,却没有出现这个问题。。。
后来才知道,需要先卸载pycrypto,然后安装pycrypto.....注意啦
是pyctypto!不是crypto.....
如下:
pip3 install pycrypto
步骤六:下载工具包
在这里,我们会采用wget命令来进行安装,wget是一个网络下载工具。
如果没有wget,需要使用apt install wget!安装好wget
wget https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar
wget https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar
wget https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz
步骤七:解压工具包
直接使用tar解压工具即可~
tar -xvf gn.1523.tar -C ~/
tar -xvf ninja.1.9.0.tar -C ~/
tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~/
直接复制粘贴即可!
步骤八:安装工具包-配置环境变量!
vim ~/.bashrc
在进入vim后,首先按下i键(进入编辑模式)
然后使用PgDn键将页面拉到底端。
粘贴这个
export PATH=~/gn:$PATH
export PATH=~/ninja:$PATH
export PATH=~/gcc_riscv32/bin:$PATH
不要使用ctrl+v!不要使用ctrl+v!不要使用ctrl+v!
重要的事情说三遍!
ubuntu下终端内粘贴要用ctrl+shift+v!
最后执行
source ~/.bashrc
生效一下就行!
你也可以使用下面的语句查看是否安装成功~
riscv32-unknown-elf-gcc -v
步骤九: 编译!
编译这个很简单的
下载源码包,http://tmp.link/f/5f8ac2c9ab495
不要问为啥不直接从官方下载...
这个源码包是我从虚拟机镜像里面提取的....用着没问题
但是官方渠道下载的,就会报utf-8编码的错误......
cd ~/code
tar -xzvf code-1.0.tar.gz
python build.py wifiiot
如果大家遇到问题,可以留言~
还有许多细节没写,不过坑大概也就这些了....
会持续更新
BTW:最近在研究树莓派通过qemu-user运行交叉编译器,达到随时随地编译的小目标~
可惜树莓派最近一直抽风,也不知道该咋弄了.....如果成功了,一定再次分享!
-----10月25日更新----
大家好~一周过去啦,大家肯定也都搭建好环境啦,现在给大家推荐一个黑科技~goorm ide
赞啊,大佬,可惜我零基础根本看不懂,你这教程适合有点基础的,所以我选择直接用连志安老师弄好的虚拟机镜像🌝🌝 🌝🌝
32个赞已经不足以表达此刻心情~
感谢分享,很有帮助
写的不错,再接再厉。
谢谢大家~我一定再接再厉~
这周是主要是硬件篇~
哈哈哈,其实看上去不是很难的~只要是如果自己尝试容易踩坑~
而且虚拟机挺好使的,还能无限回档{doge}