【OpenHarmony应用开发】源码编译&查看(Ubuntu虚拟机)

【OpenHarmony应用开发】源码编译&查看(Ubuntu虚拟机)

一、虚拟机、工具

下载虚拟机:链接

下载Visual Studio Code: 链接

下载HUAWEI DevEco Studio: 链接

二、Ubuntu

点击链接下载:
Download Ubuntu Desktop

ubuntu 安装注意事项
1、修改虚拟机内存,一般根据主机内存来设置,为主机内存的一半为最好(16)
2、编译源码需要的磁盘空间比较大,最好是占用 Windows 一个磁盘 300G

三、换源

1、备份原来的源

sudo cp /etc/apt/sources.list /etc/apt/sources_init.list

2、更换新的源文件

sudo gedit /etc/apt/sources.list

使用gedit打开文档,将下边的源复制进去,然后点击保存关闭。

阿里

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

4、更新

sudo apt-get update #更新

修复损坏的软件包,尝试卸载出错的包,重新安装正确版本的。

sudo apt-get -f install

更新软件

 sudo apt-get upgrade

其他源 :链接

四、虚拟机Ubuntu配置

1、切换sh,从dash 改成bash,因为编译工具链有一部分需要bash 输入

sudo dpkg-reconfigure dash

2、弹出设置dash为系统默认的shell ,选择NO
3、查看是否切换成功

ls –l /bin/sh

4、软连接python

sudo ln -s /usr/bin/python3 /usr/bin/python

5、输入python 显示版本

python 
exit() 退出

6、安装pip3并换源

sudo apt install python3-pip
pip install -i https://mirrors.ustc.edu.cn/pypi/web/simple pip -U
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple

7、安装其他库

sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi cpio device-tree-compiler git git-lfs ruby ccache

8、安装HB

python3 -m pip install --user ohos-build  #安装hb
sudo apt install vim #安装vim

vim ~/.bashrc  #配置环境变量

export PATH=~/.local/bin:$PATH #拷贝到最后 :wq 保存
source ~/.bashrc #更新环境变量

hb -h #查看是否安装成功

9、安装Scons、Scons是一个开放源码、以Python语言编码的自动化构建工具

pip3 install scons #安装

scons -v #查看

10、其他库安装

pip3 install pycryptodome
pip3 install six --upgrade --ignore-installed six
pip3 install ecdsa

11、安装GCC

wget https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz
#下载
tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~ #解压
vim ~/.bashrc  #配置环境

export PATH=~/gcc_riscv32/bin:$PATH #文件最后插入,:wq保存
source ~/.bashrc #更新环境变量


riscv32-unknown-elf-gcc -v #检查是否安装成功

12、安装其他

sudo apt install openjdk-8-jre-headless # java 安装java 环境

sudo apt-get install ruby
sudo apt-get install libtinfo5
sudo apt-get install clang
sudo apt install libtinfo-dev
sudo apt-get install ccache

sudo apt-get install aptitude  #aptitude与apt-get都是Debian及其衍生系统中的包管理工具。aptitude在处理包依赖问题上更好。

#aptitude 使用 aptitude 安装 lib32ncurses5-dev 的冲突问题

java 查看java 版本 安装java

13、git配置

sudo apt-get install git git-lfs #安装git客户端和git-lfs

git config --global user.name "yourname"
git config --global user.email "your-email-address"   
// 设置记住密码
git config --global credential.helper sto



14、下载repo工具链

sudo apt install curl
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3>repo
sudo mv repo /usr/local/bin/repo
sudo chmod a+x /usr/local/bin/repo


pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

五、源码下载

1、确保码云(gitee)账号已注册, 登录Ubuntu主机并生成/添加SSH公钥

 ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"
 
# 生成过程三次回车

xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱
2、获取public key

cat ~/.ssh/id_ed25519.pub

3、复制生成后的 ssh key,添加到gitee中个人设置->安全设置->SSH公钥
4、源码下载,创建文件夹openharmony

mkdir openharmony
cd openharmony

# 采用 https 比ssh 速度快点
repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify

repo sync -c

repo forall -c 'git lfs pull'

5、在源码根目录下执行prebuilts脚本,安装编译器及二进制工具。

bash build/prebuilts_download.sh

6、编译构建

./build.sh --product-name Hi3516DV300 --ccache

7、输出
编译所生成的文件都归档在out/hi3516dv300/目录下,结果镜像输出在 out/hi3516dv300/packages/phone/images/ 目录下。

获取源码
标准系统编译构建指导

五、查看源码

1、安装Samba

samba -V #查看是否安装

sudo apt install samba samba-common cifs-utils smbclient #安装

2、配置共享

mkdir share_dir #创建共享目录

sudo useradd samba_user -s /usr/sbin/nologin   #先创建一个用户,以samba_user为例.

sudo smbpasswd -a samba_user # 设置samba登录用户的密码


sudo usermod -aG $(whoami) samba_user  

将samba_user添加到当前文件所属组,$(whoami)可以得到当前用户名,创建的共享目录的所有者和所属组都是当前用户。


ifconfig #查看ip

3、修改samba配置文件

sudo vim /etc/samba/smb.conf
[share]
    comment = this is Linux secret share directory
    path = /home/qubian/share_dir
    valid user = samba_user
    guest ok = no
    writable = yes
    browsable = yes
    create mask = 0755
    directory mask =0755

4、重启服务

sudo service smbd restart

5、查看windows 共享文件夹

右键“我的电脑” -> 映射网络驱动器 -> 文件夹填入 -> \\192.168.85.130\share

6、下载Visual Studio Code 链接,可以将openharmony 下载来的源码文件夹,写入上述的配置文件种替换share_dir,即可查看源码

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容