自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用鴻蒙開(kāi)發(fā)AI應(yīng)用(四)Helloworld

開(kāi)發(fā)
上一篇,我們把編譯和燒錄環(huán)境都搭建好了,這一篇我們來(lái)初探一下鴻蒙OS的應(yīng)用開(kāi)發(fā)流程。

想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com/#zz

前言

上一篇,我們把編譯和燒錄環(huán)境都搭建好了,這一篇我們來(lái)初探一下鴻蒙OS的應(yīng)用開(kāi)發(fā)流程。

[[376970]]

環(huán)境準(zhǔn)備

距我們上次搭建環(huán)境有段時(shí)間了,先來(lái)更新一下開(kāi)發(fā)工具和相關(guān)開(kāi)源代碼。

1. 更新 DevEco Device Tools

在 vscode 里 擴(kuò)展 -> 從VSIX安裝... -> 選擇DevEcoDeviceTool-1.0.1.vsix


2. 同步代碼倉(cāng)

  1. cd ~/harmony/openharmony 
  2. repo sync -c 

 

3. 下載開(kāi)發(fā)工具

  1. mkdir -p ~/developtools && cd ~/developtools 
  2. URL_PREFIX=https://repo.huaweicloud.com/harmonyos/develop_tools/ 
  3. wget $URL_PREFIX/hapsigntoolv2.jar 
  4. wget $URL_PREFIX/hmos_app_packing_tool.jar 

 下載應(yīng)用打包和簽名工具。

第一個(gè)程序

1. 創(chuàng)建程序目錄

在源碼 applications\sample 目錄下,我們新建一個(gè) myApp 目錄放置新增代碼。

2. 創(chuàng)建主程序

新建主程序 my_first_app.c,簡(jiǎn)單打印一個(gè)Hello World。

  1. #include <stdio.h> 
  2. #include "los_sample.h" 
  3.  
  4. int main(int argc, char **argv) 
  5.     printf("\n************************************************\n"); 
  6.     printf("\n\t\tHello bluishfish!\n"); 
  7.     printf("\n************************************************\n\n"); 
  8.  
  9.     LOS_Sample(g_num); 
  10.  
  11.     return 0; 

 stdio.h 為標(biāo)準(zhǔn)庫(kù),los_sample.h為子程序的頭文件。

3. 創(chuàng)建子程序

創(chuàng)建子程序los_sample.c, 也是簡(jiǎn)單打印一下。

  1. #include <stdio.h> 
  2.  
  3. int g_num = 81; 
  4. void LOS_Sample(int param) 
  5.     printf("This is a sample: Param = %d\n", param); 

 ​在include目錄下創(chuàng)建一個(gè)頭文件los_sample.h

  1. #ifndef _LOS_SAMPLE_H 
  2. #define _LOS_SAMPLE_H 
  3.  
  4. #ifdef __cplusplus 
  5. extern "C" { 
  6. #endif /* __cplusplus */ 
  7.  
  8. extern int g_num; 
  9.  
  10. extern void LOS_Sample(int param); 
  11.  
  12. #ifdef __cplusplus 
  13. #endif /* __cplusplus */ 
  14.  
  15. #endif /* _LOS_SAMPLE_H */ 

 4. 配置BUILD.gn文件

創(chuàng)建BUILD.gn, 寫入配置信息

  1. import("//build/lite/config/component/lite_component.gni"
  2.  
  3. static_library("my_app_lib") { 
  4.     sources = [ 
  5.         "my_first_app.c"
  6.         "los_sample.c" 
  7.     ] 
  8.  
  9.     include_dirs = [ 
  10.         "include"
  11.     ] 
  12.  
  13. lite_component("camera_my_app") { 
  14.     target_type = "executable" 
  15.  
  16.     features = [ 
  17.         ":my_app_lib"
  18.     ] 

 首先導(dǎo)入 gni 組件,將源碼my_first_app.c和los_sample.c編譯成my_app_lib庫(kù)文件,這里指定include為頭文件路徑。

然后將my_app_lib打包成 lite_component命名為camera_my_app組件。

5. 修改 json 配置

在 build\lite\目錄下 新建my_hi3516dv300.json

  1.   "ohos_version""OpenHarmony 1.0"
  2.   "board""hi3516dv300"
  3.   "kernel""liteos_a"
  4.   "compiler""clang"
  5.   "subsystem": [ 
  6.     { 
  7.       "name""applications"
  8.       "component": [ 
  9.         { "name""mycamera""dir""//applications/sample/camera/myApp:camera_my_app""features":[] } 
  10.       ] 
  11.     } 
  12.   ], 
  13.   "vendor_adapter_dir""//vendor/hisi/hi35xx/hi3516dv300/hi3516dv300_adapter"
  14.   "third_party_dir""//third_party"
  15.   "ohos_product_type":""
  16.   "ohos_manufacture":""
  17.   "ohos_brand":""
  18.   "ohos_market_name":""
  19.   "ohos_product_series":""
  20.   "ohos_product_model":""
  21.   "ohos_software_model":""
  22.   "ohos_hardware_model":""
  23.   "ohos_hardware_profile":""
  24.   "ohos_serial":""
  25.   "ohos_bootloader_version":""
  26.   "ohos_secure_patch_level":""
  27.   "ohos_abi_list":"" 

 將剛才生成的camera_my_app組件,打包為applications應(yīng)用,放入鴻蒙的子系統(tǒng)中。

6. 編譯

可以通過(guò)ssh登錄虛擬機(jī)或直接在虛擬機(jī)上進(jìn)行編譯,


  1. python build.py my_hi3516dv300 -b debug 

注意:一定要帶上 debug參數(shù),這樣才能啟動(dòng)后才能方便進(jìn)入OHOS的命令行模式。

如遇到找不到j(luò)ava路徑的情況,是由于新開(kāi)源代碼中加入了應(yīng)用打包工具引起的,前文已下好工具包。


再安裝 java即可修復(fù)。

  1. sudo apt install openjdk-11-jre-headless 
  2. java -version 

 7. 燒錄系統(tǒng)

在上一篇完成過(guò)燒錄后,這里只需要選擇userfs.img文件燒錄即可。


注意這里的輸出目錄為my_hi3516dv300


點(diǎn)擊燒錄,然后重啟開(kāi)發(fā)板即可。

8. 運(yùn)行

燒錄完成后,我們?cè)诖谙逻M(jìn)行調(diào)試,根據(jù)usb分配的串口號(hào)進(jìn)行連接


在開(kāi)發(fā)板啟動(dòng)完成后,按回車進(jìn)入OHOS命令行

  1. ./bin/camera_my_app 

這里camera_my_app就是我們之前定義的組件名稱,能正??吹捷敵?,那恭喜您已經(jīng)在鴻蒙上運(yùn)行了第一個(gè)程序了。


注意這里的命名對(duì)應(yīng)關(guān)系,官方示例中采用源文件、庫(kù)文件、組件名稱和應(yīng)用名稱都采用相同命名,會(huì)便于項(xiàng)目管理。不過(guò)對(duì)新人來(lái)說(shuō)不容易理解,這里我都區(qū)分開(kāi)了,可以再仔細(xì)梳理一下流程。

從源碼到庫(kù),從庫(kù)到組件,再?gòu)慕M件到應(yīng)用,最后進(jìn)入OHOS系統(tǒng)執(zhí)行。

資料下載


下一篇預(yù)告

下一篇,我們將開(kāi)發(fā)一個(gè)有界面的HAP應(yīng)用,并介紹一下更多的組件功能,敬請(qǐng)期待...


©著作權(quán)歸作者和HarmonyOS技術(shù)社區(qū)共同所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任

想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com/#zz

 

責(zé)任編輯:jianghua 來(lái)源: 鴻蒙社區(qū)
相關(guān)推薦

2020-11-10 11:58:17

鴻蒙應(yīng)用開(kāi)發(fā)

2021-01-15 11:36:16

鴻蒙HarmonyOSAI應(yīng)用

2021-01-15 09:50:06

鴻蒙HarmonyOSAI應(yīng)用

2021-01-14 12:06:22

鴻蒙HarmonyOSAI應(yīng)用

2021-01-25 09:58:01

鴻蒙HarmonyOS應(yīng)用開(kāi)發(fā)

2021-01-21 13:27:37

鴻蒙HarmonyOS應(yīng)用開(kāi)發(fā)

2021-02-06 10:40:45

鴻蒙HarmonyOS應(yīng)用開(kāi)發(fā)

2022-02-15 14:06:36

OpenHarmon操作系統(tǒng)鴻蒙

2020-12-18 10:42:14

鴻蒙開(kāi)發(fā)應(yīng)用

2020-11-09 11:56:49

HarmonyOS

2018-09-20 08:53:56

AI平臺(tái)工具

2020-09-28 15:13:04

鴻蒙

2019-05-05 11:02:07

vscodevue前端

2022-02-24 16:39:41

OpenHarmonNiobe開(kāi)發(fā)鴻蒙

2025-02-24 02:00:00

AIC#模型

2022-09-09 14:42:17

應(yīng)用開(kāi)發(fā)ETS

2012-02-13 13:45:04

MonoTouch.NETiOS應(yīng)用

2009-03-16 15:00:16

阿里軟件旺旺軟件平臺(tái)SaaS

2014-07-30 16:43:49

Android

2024-11-26 07:33:09

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)