Использование Hongmeng для разработки приложений ИИ (4) Helloworld

HarmonyOS
Использование Hongmeng для разработки приложений ИИ (4) Helloworld

предисловие

В предыдущей статье мы настроили среду компиляции и записи, а в этой статье рассмотрим процесс разработки приложений для ОС Hongmeng.

Подготовка окружающей среды

Прошло некоторое время с тех пор, как мы в последний раз создавали среду. Давайте сначала обновим инструменты разработки и соответствующий открытый исходный код.

1. Обновите инструменты устройства DevEco

существуетvscodeвнутри扩展 -> 从VSIX安装...-> выбратьDevEcoDeviceTool-1.0.1.vsix

2. Синхронизированное хранилище кода

cd ~/harmony/openharmony
repo sync -c

3. Загрузите инструменты разработки

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

Загрузите инструмент упаковки и подписи приложения.

первая программа

1. Создайте каталог программы

в исходном кодеapplications\sampleВ каталоге создаем новыйmyAppКаталог для размещения нового кода.

2. Создайте основную программу

Новая основная программаmy_first_app.c, просто напечатайтеHello World.

#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Приложение помещается в подсистему Hongmeng.

6. Скомпилируйте

в состоянии пройтиsshВойдите в виртуальную машину или скомпилируйте прямо на виртуальной машине,

python build.py my_hi3516dv300 -b debug

Примечание: необходимо принестиdebugпараметры, чтобы их можно было легко ввести после запускаOHOSрежим командной строки.

Если вы не можете найти егоjavaСитуация с путями вызвана тем, что в новый открытый исходный код добавлен инструмент упаковки приложений, инструментарий был скачан в предыдущей статье.

Переустановите Java, чтобы исправить это.

sudo apt install openjdk-11-jre-headless
java -version

7. Система записи

После завершения записи в предыдущей статье вам нужно только выбратьuserfs.imgФайл можно сжечь.

Обратите внимание, что выходной каталог здесьmy_hi3516dv300

Нажмите, чтобы записать, а затем перезапустите макетную плату.

8. Беги

После завершения записи отлаживаем под последовательный порт, согласноusbНазначенный номер последовательного порта для подключения

После запуска макетной платы нажмите Enter, чтобы войтиOHOSКомандная строка

./bin/camera_my_app

здесьcamera_my_appЭто имя компонента, которое мы определили ранее, и вы можете видеть вывод в обычном режиме Поздравляем, вы запустили первую программу на Hongmeng.

Обратите внимание на соответствие имен: в официальном примере исходный файл, файл библиотеки, имя компонента и имя приложения имеют одинаковые имена, что облегчит управление проектом. Однако новичкам разобраться не просто, я их здесь выделил, можно внимательно разобраться в процессе.

От исходного кода к библиотеке, от библиотеки к компоненту, от компонента к приложению и, наконец, кOHOSСистема выполняет.

Скачать

Соответствующие документы по этому вопросу можно найти на официальном аккаунте «Глубокое пробуждение», а фоновый ответ: «ohos04», чтобы получить ссылку для скачивания.

Следующее уведомление

Следующий,

Мы разработаем HAP-приложение с интерфейсом,

И ввести больше функций компонентов,

Быть в курсе...