如何开发一个鸿蒙的应用软件,别急,华为工程师已经告诉你了!

此前从未能有一个手机操作系统有鸿蒙OS这样令我这么期待,从去年年底开始,有关鸿蒙OS的消息就一直牵动我的心,大家都对这一华为自研的系统格外关注,而当华为公司在今年五月下旬宣布6月2号当天将正式发布鸿蒙OS系统的时候,我对这一系统的旗舰也逐渐达到巅峰,如今6月2号终于到来,鸿蒙OS也真的和大家见面了。

以下整理转发鸿蒙提供的开发文档

https://developer.harmonyos.com/cn/home/

转载地址

开发工具

开发工具下载:https://developer.harmonyos.com/cn/develop/deveco-studio#download_release

新手指导教程

通用开发历程

各类设备(手机/平板、智能穿戴、智慧屏等)通用的用户应用程序开发历程如下表所示。

任务 简介 相关资源
认识HarmonyOS 了解HarmonyOS的系统定位、架构、技术特性等。了解HarmonyOS应用开发的基本概念和基础知识。 HarmonyOS概述开发基础知识
准备开发环境 安装开发工具,并配置相关开发环境。快速构建首个应用,熟悉HarmonyOS应用开发流程。 下载和安装软件配置开发环境快速入门
开发Ability Ability是HarmonyOS应用程序的重要组成部分,分为FA(Feature Ability)和PA(Particle Ability)两种类型:FA支持Page Ability:Page模板是FA唯一支持的模板,用于提供与用户交互的能力。PA支持Service Ability和Data Ability:Service模板用于提供后台运行任务的能力;Data模板用于对外部提供统一的数据访问抽象。进行HarmonyOS应用开发,首先要了解Ability如何使用。 Page AbilityService AbilityData Ability
开发UI FA需要提供UI用于与用户进行交互,HarmonyOS提供了Java UI和JS UI两种UI框架:Java UI提供了细粒度的UI编程接口,使应用开发更加灵活;JS UI提供了相对高层的UI描述,使应用开发更加简单。说明针对轻量级智能穿戴(Lite Wearable),现阶段只使用JS语言进行应用开发,详见轻量级智能穿戴开发。 Java UI框架Java API参考JS UI框架JS API参考
开发业务功能 媒体:视频、音频、图像、相机等功能的开发。安全:权限、生物特征识别等功能的开发。AI:图像超分、语音识别、码生成等功能的开发。网络连接:NFC、蓝牙、WLAN等功能的开发。设备管理:传感器、控制类小器件、位置等功能的开发。数据管理:数据库、分布式数据/文件服务、数据搜索等功能的开发。线程:线程管理、线程间通信等功能的开发。IDL:声明系统服务和Ability对外提供的服务接口,并生成相关代码。 媒体开发指南安全开发指南AI开发指南网络与连接开发指南设备管理开发指南数据管理开发指南线程开发指南IDL接口使用指南
调试应用 如果需要在真机设备上调试应用,则在编译前需要先申请调试证书,并配置签名信息。以便于在编译构建时,生成带签名信息的HAP。如果在模拟器上调试应用,则不需要签名,直接编译构建HAP即可。 使用真机进行调试使用模拟器进行调试
发布应用 如果需要发布到应用市场,需要申请发布证书,并对APP进行签名,再申请上架。 应用发布

原子化服务开发历程

HarmonyOS除支持传统方式的需要安装的应用外,还支持提供特定功能的免安装的应用(即原子化服务),供用户在合适的场景、合适的设备上便捷使用。

原子化服务相对于传统方式的需要安装的应用更加轻量,同时提供更丰富的入口、更精准的分发。原子化服务的详细介绍请参见“原子化服务”。

其基本开发历程如下表所示。

任务 开发历程 相关内容
了解HarmonyOS 了解HarmonyOS的系统定位、技术特性、应用开发的基本概念和基础知识,熟悉HarmonyOS应用开发通用流程。 HarmonyOS概述开发基础知识快速入门
设计原子化服务 在设计阶段,需要满足原子化服务的设计规范,包括图标、卡片、分布式等规范。 原子化服务设计
掌握原子化服务约束 了解原子化服务之间的调用管控机制。 三方应用调用管控机制
开发原子化服务基础体验 了解原子化服务总体开发规则、如何开发服务卡片等基础体验。 原子化服务总体开发要求服务卡片开发指南
开发原子化服务分布式体验 了解如何开发流转、分享等分布式体验。 流转开发指南华为分享接入指南

设备差异化开发历程

相对于通用开发历程,智能穿戴、智慧屏存在一些特殊应用开发场景,其补充指导如下表所示。

设备类型 简介 相关资源
智能穿戴 对于智能穿戴,应用可以通过HarmonyOS提供的接口实现音频、传感器、网络连接、UI交互、消息提醒等常规业务的开发。开发者也可以根据智能穿戴的特点,打造针对智能穿戴的独特应用。 智能穿戴开发指南
智慧屏 基于HarmonyOS,开发者可以开发智慧屏应用,提供丰富的分布式多媒体体验。应用可以通过HarmonyOS的API实现多媒体业务、网络访问、UI开发等能力。 智慧屏开发指南
路由器 对于路由器,应用可以通过HarmonyOS提供的接口实现管理智能设备,如获取智能设备信息、订阅智能设备数据变化、控制智能设备等业务的开发。开发者也可以根据家庭多设备联动的特点,打造针对全屋智能的独特应用。 路由器开发指南

开发者教程

针对重点功能或场景的开发者教程如下表所示。

分类 主题 简介
安全 HarmonyOS面部识别能力 基于HarmonyOS生物特征识别和相机子系统,实现人脸识别和相机拍照功能。
设备管理 BLE蓝牙低功耗 使用Bluetooth Low Energy(低功耗蓝牙)实现设备间通信。
通用组件 WebView组件 使用WebView组件实现应用与Web页面间的通信。
自定义组件 通过一个圆形抽奖转盘演示HarmonyOS自定义组件的实现。
JS组件购物应用演示 使用JS实现一款简单的HarmonyOS购物应用。
常用组件和布局 基于HarmonyOS Java UI,实现常见组件或者布局。
AI AI通用文字识别 基于AI通用文字识别能力,检测和识别文档翻拍、街景翻拍等图片中的文字。
AI语音播报系统 基于AI语音播报能力,朗读输入的文字内容。
数据库 分布式数据库 基于分布式数据接口,实现多种设备上一致的数据访问体验。
关系型数据库 基于Data Ability的关系型数据库和数据管理能力,实现数据库相关应用服务的快速开发。
轻量级偏好数据库 基于轻量级偏好数据库,实现存储在本地应用数据的访问及操作。
媒体 音频播放管理 基于HarmonyOS Player,实现音频的播放、管理控制和采集。
编解码能力 基于HarmonyOS编解码能力,实现Camera实时预览流的播放。
图片编辑模板 基于图片处理能力,实现一个图片编辑模板。
图片常见操作 基于HarmonyOS图像编解码,实现图片的旋转、剪裁、缩放、镜像。
简易视频播放器 基于HarmonyOS Player,实现视频文件的播放。
分布式 分布式地图导航 基于分布式能力,实现地图导航信息在手机-车机-智能穿戴设备之间流转。
分布式输入法 基于分布式能力,将手机作为智慧屏的虚拟控制器,控制文字输入和遥控播放。
分布式游戏手柄 基于分布式能力,将手机作为智慧屏的虚拟手柄终端,组成全新的多人娱乐场景。
分布式邮件编辑 基于跨设备迁移和分布式文件能力,实现邮件的跨设备编辑和附件的调用。
分布式语音照相机 基于分布式文件系统和AI语音识别功能,实现一款分布式语音照相机。
分布式调度启动远程FA 基于分布式调度的能力,实现远程FA的启动。
跨设备视频播放 基于分布式能力和IDL跨进程通信,实现视频跨设备播放、控制。
分布式新闻客户端 基于HarmonyOS应用中Service Ability和Page Ability的使用,实现跨设备FA拉起。
分布式亲子早教系统 基于分布式能力,实现一个多屏互动、跨设备协同的亲子早教系统。

视频课程

主题 简介
什么是HarmonyOS 介绍HarmonyOS定义及特点。
HarmonyOS系统架构 介绍HarmonyOS系统架构以及FA/PA原理。
HarmonyOS应用开发系列课(基础篇) 介绍HarmonyOS整体架构和理念,关键技术(分布式关键技术/安全和隐私/UX),应用程序框架,以及开放能力和工具平台。
HarmonyOS应用开发系列课(进阶篇) 介绍HarmonyOS应用程序框架,HarmonyOS分布式软总线、任务调度,分布式数据管理、安全和隐私设和UX体验设计等内容。
HarmonyOS应用开发系列课(高级篇) HarmonyOS系列课程,快速上手HarmonyOS应用开发。
HarmonyOS应用开发系列课(案例篇) HarmonyOS开发者实战经验和案例分享。

调试

调试流程

DevEco Studio提供了丰富的HarmonyOS应用调试能力,支持Java、JS、C/C++单语言调试和JS+Java、Java+C/C++跨语言调试能力,同时还支持分布式应用的跨设备调试,帮助开发者更方便、高效的调试应用。

HarmonyOS应用调试支持使用真机设备调试。使用真机设备进行调试前,需要对HAP进行签名后进行调试。详细的调试流程如下图所示。

配置应用签名信息

对应用进行签名

调试应用签名的方式包括如下两种:

  • 方式一:通过DevEco Studio自动化签名的方式对应用进行签名;
  • 方式二:通过从AppGallery Connect中申请调试证书和Profile文件后,再进行签名。

通过DevEco Studio自动化签名的方式更加简单和高效,因此推荐开发者使用自动化签名。关于AppGallery Connect中申请调测证书和Profile的方式,可以参考申请发布证书和Profile文件流程。

  1. 连接真机设备,确保DevEco Studio与真机设备已连接。

  2. 进入File > Project Structure > Project > Signing Configs界面,点击“Sign In”按钮进行登录。

  3. 在AppGallery Connect中创建项目和应用。

    1. 登录AppGallery Connect,创建一个项目。

    2. 在项目中,点击

      添加应用

      按钮,创建一个应用。如果是非实名认证的用户,请点击“HAP Provision Profile管理”界面的

      HarmonyOS应用

      按钮。

      • 选择平台:选择APP(HarmonyOS应用)。
      • 支持设备:选择调试的设备类型。
      • 应用包名:必须与config.json文件中的“bundleName”取值保持一致。
      • 应用名称、应用分类、默认语言请根据实际需要进行设置。

  4. 返回DevEco Studio的自动签名界面,点击Try Again,即可自动进行签名。自动生成签名所需的密钥(.p12)、数字证书(.cer)和Profile文件(.p7b)会存放到用户user目录下的.ohos\config目录下。

    说明

    如果是非实名认证用户,需要先接受“HUAWEI Developer Basic Service Agreement”协议。

    设置完签名信息后,点击OK进行保存,然后可以在工程下的build.gradle中查看签名的配置信息。

通过配置文件存储签名信息

**(可选)**由于签名配置是开发者的私有信息,DevEco Studio会对签名配置中的密码进行安全保护,但是这个保护会对提交build.gradle到代码仓中带来不便。因此,开发者可以将签名配置信息放在一个独立的文件中,从而可以方便的将build.gradle提交到代码仓,而存放签名配置信息的文件不用提交。

  1. 在工程的根目录下创建一个名为signing-config.properties的文件。

  2. 打开signing-config.properties文件,写入签名配置信息。签名配置信息可以从工程的build.gradle文件中进行拷贝,p12、p7b和cer文件存储地址可以自定义。

    storeFile=D:\\key\\auto_debug_900086000300430549.p12storePassword=0000001BA1E0B33A4507FAAD0CD0F378CE4E6AC5AEBDEA75C3283753284436002D859E52C3836DAD3A3D1CkeyAlias=myApplication_debugkeyPassword=0000001BAC7C26C59AC5EB95E56DFC155C911ED08C658839127F4CEC6AB548B39BE8CC499CE7F27F13AE57profile=D:\\key\\auto_debug_Myapplication_900086000300430549.p7bcertpath=D:\\key\\auto_debug_900086000300430549.cer
    
  3. 打开build.gradle,修改debug或release类型的签名配置信息从signing-config.properties文件中读取。下面是debug类型签名信息的配置示例:

    apply plugin: 'com.huawei.ohos.hap'...//加载签名信息配置文件def signingConfigPropsFile = rootProject.file("signing-config")def signingConfigProps = new Properties()signingConfigProps.load((new FileInputStream(signingConfigPropsFile)))
    ohos {    ...    //配置签名信息索引    signingConfigs {        debug {            storeFile file(signingConfigProps['storeFile'])            storePassword signingConfigProps['storePassword']            keyAlias signingConfigProps['keyAlias']            keyPassword signingConfigProps['keyPassword']            signAlg = 'SHA256withECDSA'            profile file(signingConfigProps['profile'])            certpath file(signingConfigProps['certpath'])        }    }
    
  4. 修改完成后重新同步工程即可。

调试设置

设置调试代码类型

调试类型默认情况下为Detect Automatically,支持Java、JS、C/C++、JS+Java、Java+C/C++工程的调试。只有在JS+Java混合工程中,如果需要单独调试Java代码,这种情况下需要手动修改Debug Type为“Java”。

关于各调试类型的说明如下表所示。

调试类型 调试代码
Java Only 仅调试Java代码
Js Only 仅调试JavaScript代码
Native Only 仅调试C/C++代码
Dual(Js + Java) 调试JS FA调用Java PA场景的JS和Java代码
Dual(Java + Native) 调试C/C++工程的Java和C/C++代码
Detect Automatically 新建工程默认调试器选项,根据调试的工程类型,自动启动对应的调试器。说明JS+Java混合工程中,如果需要单独调试Java代码,这种情况下需要手动修改Debug Type为“Java”。

修改调试类型的方法如下。

点击Run > Edit Configurations > Debugger,在HarmonyOS App中,选择相应模块, 可以进行Java/JS/C++调试配置。

检查config.json文件属性

在启动Feature模块的调试前,请检查Feature模块下的config.json文件的abilities数组是否存在“visible”属性,如果不存在,请手动添加,否则Feature模块的调试无法进入断点。Entry模块的调试不需要做该检查。

  1. 在工程目录中,点击Feature模块下的src > main > config.json文件,检查abilities数组是否存在“visible”属性。

    • 存在visible属性,且取值为true:可以正常启动调试。
    • 不存在,或者取值为false,请根据2进行设置。

在abilities数组中手动添加“visible”属性,取值为true。

说明

如果Feature模块手动添加了“visible”属性为true,表示该模块可以被其它的应用所调用。如果您不允许该模块被其它应用调用,请在调试完成后手动删除visible属性。

设置Hap包安装方式

在调试阶段,Hap包在设备上的安装方式有2种,您可以根据实际需要进行设置

  • 安装方式一:先卸载应用后,再重新安装,该方式会清除设备上的所有应用缓存数据(默认安装方式)。
  • 安装方式二:采用覆盖安装方式,不卸载应用,该方式会保留应用的缓存数据。

设置方法如下:

点击Run > Edit Configurations,设置指定模块的Hap包安装方式,勾选 ”Replace existing application”,则表示采用覆盖安装方式,保留应用缓存数据。

如果一个工程中同一个设备存在多个模块(如Phone设备,存在entry和feature模块),且存在模块间的调用时,在调试阶段需要同时安装多个模块的hap包到设备中。此时,需要在待调试模块的设置项中勾选“Deploy Multi Hap Package”。例如entry模块调用feature模块,在调试entry模块时,需要同时安装feature模块,您应该在entry模块的调试设置项中勾选“Deploy Multi Hap Package”后再启动调试。

启动调试

  1. 在工具栏中,选择调试的设备,并点击Debug Attach Debugger to Process启动调试。

    说明

    Debug和Attach Debugger的区别在于,Attach Debugger to Process可以先运行应用,然后再启动调试,或者直接启动设备上已安装的应用进行调试;而Debug是直接运行应用后立即启动调试。目前JS代码不支持Attach Debugger to Process调试。

  2. 如果需要设置断点调试,则需要选定要设置断点的有效代码行,在行号(比如:24行)的区域后,单击鼠标左键设置断点(如图示的红点)。

    设置断点后,调试能够在正确的断点处中断,并高亮显示该行。

  3. 启动调试后,开发者可以通过调试器进行代码调试。调试器的功能说明如下表所示。

    按钮 名称 快捷键 功能
    Resume Program F9(Mac为Option+Command+R 当程序执行到断点时停止执行,点击此按钮程序继续执行。
    Step Over F8(Mac为F8 在单步调试时,直接前进到下一行(如果在函数中存在子函数时,不会进入子函数内单步执行,而是将整个子函数当作一步执行)。
    Step Into F7(Mac为F7 在单步调试时,遇到子函数后,进入子函数并继续单步执行。
    Force Step Into Alt+Shift+F7(Mac为Option+Shift+F7 在单步调试时,强制下一步。
    Step Out Shift+F8(Mac为Shift+F8 在单步调试执行到子函数内时,点击Step Out会执行完子函数剩余部分,并跳出返回到上一层函数。
    Stop Ctrl+F2(Mac为Command+F2 停止调试任务。
    Run To Cursor Alt+F9(Mac为Option+F9 断点执行到鼠标停留处。

对于原子化服务,由于原子化服务在设备中没有桌面图标,可以通过如下方式在设备中运行/调试原子化服务。

  • 在服务中心露出的原子化服务:

    • 通过DevEco Studio的运行/调试按钮,将原子化服务推送到真机设备上安装,安装完成后便可以启动原子化服务;同时在服务中心的最近使用中可以看到该原子化服务的卡片。
    • 通过hdc命令行工具,将原子化服务推送到真机设备上安装,安装完成后便可以启动原子化服务;同时在服务中心的最近使用中可以看到该原子化服务的卡片。
  • 在服务中心不露出的原子化服务:
    • 通过DevEco Studio的运行/调试按钮,将原子化服务推送到真机设备上安装,安装完成后便可以启动原子化服务。
    • 通过hdc命令行工具,将原子化服务推送到真机设备上安装,安装完成后便可以启动原子化服务。
    • 设备控制类的原子化服务,可通过碰一碰、扫一扫等方式运行。

断点管理

在设置的程序断点红点处,点击鼠标右键,然后点击More或按快捷键Ctrl+Shift+F8(Mac为Shift+Command+F8),可以管理断点。

代码类型 断点管理
JS(JavaScript) 普通行断点
Java 普通行断点Exception(异常)断点
C/C++ 普通行断点Exception(异常)断点Symbolic(符号)断点

应用开发

通用开发历程

各类设备(手机/平板、智能穿戴、智慧屏等)通用的用户应用程序开发历程如下表所示。

任务 简介 相关资源
开发Ability Ability是HarmonyOS应用程序的重要组成部分,分为FA(Feature Ability)和PA(Particle Ability)两种类型:FA支持Page Ability:Page模板是FA唯一支持的模板,用于提供与用户交互的能力。PA支持Service Ability和Data Ability:Service模板用于提供后台运行任务的能力;Data模板用于对外部提供统一的数据访问抽象。进行HarmonyOS应用开发,首先要了解Ability如何使用。 Page AbilityService AbilityData Ability
开发UI FA需要提供UI用于与用户进行交互,HarmonyOS提供了Java UI和JS UI两种UI框架:Java UI提供了细粒度的UI编程接口,使应用开发更加灵活;JS UI提供了相对高层的UI描述,使应用开发更加简单。说明针对轻量级智能穿戴(Lite Wearable),现阶段只使用JS语言进行应用开发,详见轻量级智能穿戴开发。 Java UI框架Java API参考JS UI框架JS API参考
开发业务功能 媒体:视频、音频、图像、相机等功能的开发。安全:权限、生物特征识别等功能的开发。AI:图像超分、语音识别、码生成等功能的开发。网络连接:NFC、蓝牙、WLAN等功能的开发。设备管理:传感器、控制类小器件、位置等功能的开发。数据管理:数据库、分布式数据/文件服务、数据搜索等功能的开发。线程:线程管理、线程间通信等功能的开发。IDL:声明系统服务和Ability对外提供的服务接口,并生成相关代码。 媒体开发指南安全开发指南AI开发指南网络与连接开发指南设备管理开发指南数据管理开发指南线程开发指南IDL接口使用指南

原子化服务开发历程

HarmonyOS除支持传统方式的需要安装的应用外,还支持提供特定功能的免安装的应用(即原子化服务),供用户在合适的场景、合适的设备上便捷使用。

原子化服务相对于传统方式的需要安装的应用更加轻量,同时提供更丰富的入口、更精准的分发。原子化服务的详细介绍请参见“原子化服务”。

其基本开发历程如下表所示。

任务 开发历程 相关内容
了解HarmonyOS 了解HarmonyOS的系统定位、技术特性、应用开发的基本概念和基础知识,熟悉HarmonyOS应用开发通用流程。 HarmonyOS概述开发基础知识快速入门
设计原子化服务 在设计阶段,需要满足原子化服务的设计规范,包括图标、卡片、分布式等规范。 原子化服务设计
掌握原子化服务约束 了解原子化服务之间的调用管控机制。 三方应用调用管控机制
开发原子化服务基础体验 了解原子化服务总体开发规则、如何开发服务卡片等基础体验。 原子化服务总体开发要求服务卡片开发指南
开发原子化服务分布式体验 了解如何开发流转、分享等分布式体验。 流转开发指南华为分享接入指南

产品发布

发布流程

开发者完成HarmonyOS应用开发后,需要将应用打包成APP,用于发布到华为应用市场。发布应用的流程如下图所示。

关于以上流程的详细介绍,请继续查阅本章节内容。

准备签名文件

对应用进行签名

调试应用签名的方式包括如下两种:

  • 方式一:通过DevEco Studio自动化签名的方式对应用进行签名;
  • 方式二:通过从AppGallery Connect中申请调试证书和Profile文件后,再进行签名。

通过DevEco Studio自动化签名的方式更加简单和高效,因此推荐开发者使用自动化签名。关于AppGallery Connect中申请调测证书和Profile的方式,可以参考申请发布证书和Profile文件流程。

  1. 连接真机设备,确保DevEco Studio与真机设备已连接。

  2. 进入File > Project Structure > Project > Signing Configs界面,点击“Sign In”按钮进行登录。

  3. 在AppGallery Connect中创建项目和应用。

    1. 登录AppGallery Connect,创建一个项目。

    2. 在项目中,点击

      添加应用

      按钮,创建一个应用。如果是非实名认证的用户,请点击“HAP Provision Profile管理”界面的

      HarmonyOS应用

      按钮。

      • 选择平台:选择APP(HarmonyOS应用)。
      • 支持设备:选择调试的设备类型。
      • 应用包名:必须与config.json文件中的“bundleName”取值保持一致。
      • 应用名称、应用分类、默认语言请根据实际需要进行设置。

  4. 返回DevEco Studio的自动签名界面,点击Try Again,即可自动进行签名。自动生成签名所需的密钥(.p12)、数字证书(.cer)和Profile文件(.p7b)会存放到用户user目录下的.ohos\config目录下。

    说明

    如果是非实名认证用户,需要先接受“HUAWEI Developer Basic Service Agreement”协议。

    设置完签名信息后,点击OK进行保存,然后可以在工程下的build.gradle中查看签名的配置信息。

申请发布证书和Profile文件

通过生成的证书请求文件,向AppGallery Connect申请发布证书和Profile文件,详细操作请参考下表。

步骤 操作步骤 操作说明 操作指导
1 创建AGC项目 申请发布证书前,需要登录AppGallery Connect后创建一个项目。说明如果在申请调试证书时已经创建了项目和应用,则可以跳过“创建AGC项目”和“创建HarmonyOS应用”步骤。 创建您的AGC项目
2 创建HarmonyOS应用 在AppGallery Connect项目中,创建一个HarmonyOS应用,用于发布证书和Profile文件申请。 创建HarmonyOS应用
3 申请发布证书和Profile文件 在AppGallery Connect中申请、下载发布证书和Profile文件。 申请发布证书和Profile文件

用于发布的证书和Profile文件后,请在DevEco Studio中进行签名,请参考配置签名信息。

配置签名信息

编译构建APP需要使用到制作的私钥(.p12)文件、在AppGallery Connect中申请的证书(.cer)文件和Profile(.p7b)文件。然后在DevEco Studio中对工程进行配置。

File > Project Structure > Project > Signing Configs窗口中,配置工程的签名信息。

  • Store File:选择密钥库文件,文件后缀为.p12。
  • Store Password:输入密钥库密码。
  • Key Alias:输入密钥的别名信息。
  • Key Password:输入密钥的密码。
  • SignAlg:签名算法,固定为SHA256withECDSA。
  • Profile File:选择申请的发布Profile文件,文件后缀为.p7b。
  • Certpath File:选择申请的发布数字证书文件,文件后缀为.cer。

设置完签名信息后,点击OK进行保存,然后使用DevEco Studio生成APP,请参考编译构建APP。

编译构建APP

打包APP时,DevEco Studio会将工程目录下的所有HAP模块打包到APP中,因此,如果工程目录中存在不需要打包到APP的HAP模块,请手动删除后再进行编译构建生成APP。

  1. 点击Build > Build APP(s)/Hap(s) > Build APP(s),等待编译构建完成已签名的APP。

  2. 编译构建完成后,可以在build > outputs > app > release目录下,获取带签名的APP。

发布APP到华为应用市场

将HarmonyOS应用打包成APP后,通过AppGallery Connect将HarmonyOS应用分发到不同的设备上。您可以根据发布HarmonyOS应用指导将APP上架到华为应用市场。

如何开发一个鸿蒙的应用软件,别急,华为工程师已经告诉你了!动手开发鸿蒙系统的第一款应用相关推荐

  1. Python开发一个APP居然如此之简单?老王自学三月就独立开发了!

    很久很久之前我就想开发一款app玩一下,不过因为不是很熟悉Java,也没有开发app的经验,因此一直没去弄.最近学了python就想用它开发一个app,google查找之后发现路子还是很多的,现在也有 ...

  2. 期待鸿蒙是什么意思,如何看待华为将于 6月2 日举办鸿蒙发布会?你对此有哪些期待?...

    将在6月2日举行的鸿蒙发布会,可以说是华为正式把HarmonyOS也就是鸿蒙推向了大舞台,在整个物联网快速发展的时代背景下,作为华为1+8+N全场景终端布局的核心之一,应该说鸿蒙的"起飞&q ...

  3. 鸿蒙怎么运行安卓应用,华为:安卓生态应用可在部分鸿蒙设备上运行

    出品 | 搜狐科技 编辑 | 张雅婷 6月4日消息,华为发布徐直军签发的<关于规范 HarmonyOS 沟通口径的通知>(以下简称<通知>). <通知>称,关于&q ...

  4. 跟华为鸿蒙合作的友商,华为霸气官宣!毫无保留的开放鸿蒙OS系统:所有国产手机都能使用...

    原标题:华为霸气官宣!毫无保留的开放鸿蒙OS系统:所有国产手机都能使用 [5月20日讯]相信大家都知道,随着时间不断推移,华为鸿蒙OS系统前进的步伐也在不断地加快,就在华为官宣鸿蒙OS系统正式版将在6 ...

  5. 鸿蒙发布会在哪里看,华为新品发布会抢先看:Mate40+鸿蒙2.0系统齐亮相!

    在国外科技媒体曝光苹果第二场新品发布会将在10月13日召开,届时将发布万众期待的iPhone12系列之后,今天国外科技媒体也同时给出了华为新品发布会的具体新品发布清单,其中多款新品得到了曝光,从这些被 ...

  6. python开发一个区块链只需40多行

    40多行python代码开发一个区块链?可信吗?我们将通过Python 2动手开发实现一个迷你区块链来帮你真正理解区块链技术的核心原理.python开发区块链的源代码保存在Github. 尽管有人认为 ...

  7. java程序员可以只用windos吗_程序员要写多少代码 才能开发一个window操作系统

    开发一个window操作系统需要程序员写多少行代码呢? 微软的Windows系统是伴随我们已久的老朋友了,大多数人都是一代一代Windows的用上来,老用户几乎都形成一个共识,就是微软的系统有一代会很 ...

  8. 如何开发一个区块链应用程序

    区块链是一项巧妙的发明,有望使数字世界更加安全和分散.通过允许数字信息的分发而不是复制,区块链技术创建了一种新型互联网.最初是为数字货币比特币而设计的,现在科技界正在寻找该技术的其他潜在用途.在不久的 ...

  9. 使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程(三)

    前篇 使用React.Node.js.MongoDB.Socket.IO开发一个角色投票应用的学习过程(一) 使用React.Node.js.MongoDB.Socket.IO开发一个角色投票应用的学 ...

最新文章

  1. 怎样用c语言解一元一次方程,问一道算法题目(解一元一次方程的问题)
  2. java核心技术读书笔记1
  3. python小程序:备份文件
  4. LeetCode 9. 回文数
  5. springboot+openFeign+nacos开发实战
  6. raspberry pi_2018十大Raspberry Pi故事
  7. tabcontrol选项卡颜色把文字覆盖了_文字拆分神器,这3个PPT插件满足你的所有需求...
  8. java简介 ppt 精,TP1java简介.ppt
  9. C++11 emplace操作
  10. 联发科MT6763处理器参数MT6763芯片资料
  11. 黑客帝国动态特效代码
  12. 产品经理需要看懂接口文档么?
  13. VisualBasic程序设计第二章的学习与自测
  14. 转载——visio密钥
  15. php汉字转换拼音的类 做了修改用mb_convert_encoding代替iconv实现编码转换
  16. Excel 同一单元格显示不同颜色
  17. JVM--藤原豆腐店自用
  18. ubuntu占用空间清理
  19. Qt之QTextEdit
  20. grep -v grep的作用

热门文章

  1. 【数据治理】One ID中的核心技术ID-Mapping究竟是怎么实现的
  2. 基金投资入门2:基金的风险等级
  3. 《java入门第一季》之面向对象
  4. [HTML_CSS]@media 实现页面自适应布局
  5. MySQL事务原理分析(ACID特性、隔离级别、锁、MVCC、并发读异常、并发死锁以及如何避免死锁)
  6. 我们可以用计算机做的事,2015地球一小时:今晚我们可以做的10件事(中英文版)
  7. 1188_什么是TVS管_瞬态抑制二极管
  8. 锅炉给水用碳酸钠调PH值与氢氧化钠调PH值优劣势对比
  9. FreeCAD-0.19源码编译教程
  10. 浙江电信测试网速软件,中国电信网速测试