Глиф Учебники

Урок 8. Для разработчиков: DevEco Studio, ArkTS и пакеты HAP

Курс «HarmonyOS» · урок 8 из 8 · 5 минут чтения

Для HarmonyOS 2.0–4.x и EMUI программы пишут как для обычного Android: на Kotlin или Java, в Android Studio, с отладкой через ADB — об этом темы Kotlin и урок Для разработчиков в теме Android. Урок ниже — о HarmonyOS 5.0 и новее, где всё своё: язык, среда разработки, формат пакетов и инструмент отладки.

Из чего состоит разработка

Кроме ArkTS, Huawei с 2024 года развивает свой язык Cangjie (по-китайски 仓颉), тоже для приложений HarmonyOS. Для начала достаточно ArkTS.

Что нужно

Первый проект

  1. В DevEco Studio выберите Create Project (или File → New → Create Project).
  2. Выберите Application и шаблон Empty Ability, нажмите Next.
  3. В поле Compatible SDK укажите самую раннюю версию системы, на которой должна работать программа. Например, 5.0.0(12) — это HarmonyOS 5.0, в скобках номер её программного интерфейса (API 12).
  4. Нажмите Finish и дождитесь, пока среда создаст проект.

Главное в проекте:

Шаблон создаёт экран Index.ets с надписью по центру:

Index.ets
@Entry
@Component
struct Index {
  @State message: string = 'Hello World';

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}

@Entry отмечает главный компонент страницы, @Component — компонент интерфейса, а @State — состояние: когда значение message меняется, ArkUI сам перерисовывает текст. Функция build() описывает, что на экране: строка Row во всю высоту, в ней столбец Column во всю ширину, в столбце — текст. Посмотреть результат без устройства можно в окне Previewer.

Код Index.ets на ArkTS Сборка DevEco Studio, подпись Пакет .hap модуль App Pack .app → AppGallery Ваше устройство hdc install или Run Устройства получают .hap
Путь программы для HarmonyOS 5.0 и новее: код на ArkTS → сборка в DevEco Studio → пакет .hap → App Pack .app → AppGallery.

Запуск на устройстве

Режим разработчика. По документации Huawei: проверьте, есть ли «Для разработчиков» в «Настройки → Система». Если нет — откройте «Настройки», нажмите имя устройства и семь раз подряд нажмите «Версия ПО», подтвердите включение и введите PIN-код. Устройство перезагрузится.

Отладка. В «Настройки → Система → Для разработчиков» включите «Отладка по USB», подключите устройство кабелем и разрешите отладку в окне на экране. Можно и без кабеля: «Беспроводная отладка» показывает адрес и порт, а компьютер должен быть в той же сети Wi‑Fi.

Подпись. Без подписи приложение на устройство не встанет. Откройте File → Project Structure → Project → Signing Configs, войдите в HUAWEI ID и включите автоматическую подпись. Документация предупреждает: часы компьютера должны идти точно — их сверяют с пекинским временем (UTC+8), и если они спешат или отстают, подпись не получится.

Запуск. Выберите устройство в списке вверху и нажмите Run (Shift+F10 в Windows, Control+R в macOS). DevEco Studio соберёт пакет .hap, установит его и откроет приложение.

Команда hdc

hdc лежит в папке SDK внутри DevEco Studio (sdk/default/openharmony/toolchains) и работает в Windows, Linux и macOS. Основные команды:

Терминал
$ hdc list targets
$ hdc install entry-default-signed.hap
$ hdc uninstall com.example.myapplication
$ hdc shell
$ hdc hilog

Для беспроводной отладки устройство подключают командой hdc tconn с адресом и портом, которые показывает «Беспроводная отладка», например hdc tconn 192.168.0.1:8888.

Пакеты и публикация

Модуль приложения собирается в пакет HAP (.hap). Общий код выносят в библиотеки: HAR (.har, подключается при сборке) и HSP (.hsp, общая во время работы). Для AppGallery все модули упаковываются в App Pack (.app) и загружаются в AppGallery Connect — кабинет разработчика. Магазин раздаёт устройствам нужные им .hap.

Android-приложение на HarmonyOS 5.0 и новее автоматически не переносится: интерфейс и обращения к системе пишутся заново на ArkTS. Удобно начать с экрана, который нужнее всего, и посмотреть, какие возможности системы для него есть в SDK.

Коротко

Проверьте себя

1. На каком языке в основном пишут приложения для HarmonyOS 5.0 и новее?
2. Какой командой установить пакет на подключённое устройство с HarmonyOS 6?
3. Что делает @State в компоненте ArkUI?
4. Что загружают в AppGallery Connect, чтобы выпустить приложение?
5. Автоматическая подпись в DevEco Studio не проходит, хотя вход в HUAWEI ID выполнен. Что проверить по документации Huawei?