前言
上一篇,咱们把编译和烧录环境都搭建好了,这一篇咱们来初探一下鸿蒙OS的应用开发流程。
java
环境准备
距咱们上次搭建环境有段时间了,先来更新一下开发工具和相关开源代码。python
1. 更新 DevEco Device Tools
在 vscode 里 扩展 -> 从VSIX安装... -> 选择DevEcoDeviceTool-1.0.1.vsixjson
2. 同步代码仓app
cd ~/harmony/openharmony repo sync -c
3. 下载开发工具ssh
mkdir -p ~/developtools && cd ~/developtools URL_PREFIX=https://repo.huaweicloud.com/harmonyos/develop_tools/ wget $URL_PREFIX/hapsigntoolv2.jar wget $URL_PREFIX/hmos_app_packing_tool.jar
下载应用打包和签名工具。ide
第一个程序
1. 建立程序目录
在源码 applications\sample 目录下,咱们新建一个 myApp 目录放置新增代码。工具
2. 建立主程序
新建主程序 my_first_app.c,简单打印一个Hello World。post
#include <stdio.h> #include "los_sample.h" int main(int argc, char **argv) { printf("\n************************************************\n"); printf("\n\t\tHello bluishfish!\n"); printf("\n************************************************\n\n"); LOS_Sample(g_num); return 0; }
stdio.h 为标准库,los_sample.h为子程序的头文件。学习
3. 建立子程序
建立子程序los_sample.c, 也是简单打印一下。开发工具
#include <stdio.h> int g_num = 81; void LOS_Sample(int param) { printf("This is a sample: Param = %d\n", param); }
在include目录下建立一个头文件los_sample.h
#ifndef _LOS_SAMPLE_H #define _LOS_SAMPLE_H #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ extern int g_num; extern void LOS_Sample(int param); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* _LOS_SAMPLE_H */
4. 配置BUILD.gn文件
建立BUILD.gn, 写入配置信息
import("//build/lite/config/component/lite_component.gni") static_library("my_app_lib") { sources = [ "my_first_app.c", "los_sample.c" ] include_dirs = [ "include", ] } lite_component("camera_my_app") { target_type = "executable" features = [ ":my_app_lib", ] }
首先导入 gni 组件,将源码my_first_app.c和los_sample.c编译成my_app_lib库文件,这里指定include为头文件路径。
而后将my_app_lib打包成 lite_component命名为camera_my_app组件。
5. 修改 json 配置
在 build\lite\目录下 新建my_hi3516dv300.json
{ "ohos_version": "OpenHarmony 1.0", "board": "hi3516dv300", "kernel": "liteos_a", "compiler": "clang", "subsystem": [ { "name": "applications", "component": [ { "name": "mycamera", "dir": "//applications/sample/camera/myApp:camera_my_app", "features":[] } ] } ], "vendor_adapter_dir": "//vendor/hisi/hi35xx/hi3516dv300/hi3516dv300_adapter", "third_party_dir": "//third_party", "ohos_product_type":"", "ohos_manufacture":"", "ohos_brand":"", "ohos_market_name":"", "ohos_product_series":"", "ohos_product_model":"", "ohos_software_model":"", "ohos_hardware_model":"", "ohos_hardware_profile":"", "ohos_serial":"", "ohos_bootloader_version":"", "ohos_secure_patch_level":"", "ohos_abi_list":"" }
将刚才生成的camera_my_app组件,打包为applications应用,放入鸿蒙的子系统中。
6. 编译
能够经过ssh登陆虚拟机或直接在虚拟机上进行编译,
python build.py my_hi3516dv300 -b debug
注意:必定要带上 debug参数,这样才能启动后才能方便进入OHOS的命令行模式。
如遇到找不到java路径的状况,是因为新开源代码中加入了应用打包工具引发的,前文已下好工具包,
文章后续内容和相关附件能够点击下面的原文连接前往学习
原文连接:https://harmonyos.51cto.com/posts/2771#bkwz