目录
1 -> 创建HarmonyOS应用工程
1.1 -> 新建工程
1.1.1 -> 前提条件
1.1.2 -> 选择模板
1.1.3 -> 配置工程信息
1.1.4 -> 关联云开发资源
1.2 -> 工程初始化配置
1.2.1 -> 自动开通云开发服务
1.3 -> 端云一体化开发工程目录结构
1.3.1 -> 端开发工程(Application)
1.3.2 -> 云开发工程(CloudProgram)
2 -> 创建元服务工程
2.1 -> 新建工程
2.1.1 -> 前提条件
2.1.2 -> 选择模板
2.1.3 -> 关联云开发资源
2.1.4 -> 配置工程信息
2.2 -> 工程初始化配置
2.2.1 -> 自动开通云开发服务
2.3 -> 端云一体化开发工程目录结构
2.3.1 -> 端开发工程(Application)
2.3.2 -> 云开发工程(CloudProgram)
3 -> 历史工程转换为端云一体化开发工程
1 -> 创建HarmonyOS应用工程
1.1 -> 新建工程
1.1.1 -> 前提条件
- 已实名认证、且注册地为中国境内(不包含中国香港、中国澳门、中国台湾)的华为开发者账号登录DevEco Studio。
- 请确保华为开发者账号无欠款,账户欠费将导致云存储服务开通失败。
1.1.2 -> 选择模板
1. 选择以下任一种方式,打开工程创建向导界面。
- 如果当前未打开任何工程,可以在DevEco Studio的欢迎页点击“Create Project”开始创建一个新工程。
- 如果已经打开了工程,可以在菜单栏选择“File > New > Create Project”来创建一个新工程。
2. 在“Application”页签,选择合适的云开发模板,然后点击“Next”。
说明
当前仅支持通用云开发模板([CloudDev]Empty Ability)。
1.1.3 -> 配置工程信息
1. 在工程配置界面,配置工程的基本信息。
参数 | 说明 |
Project name | 工程的名称,由大小写字母、数字和下划线组成。 |
Bundle name | 软件包名称,需保证唯一,且需与您在AGC创建的HarmonyOS应用的“应用包名”一致。 |
Save location | 工程文件本地存储路径,由大小写字母、数字和下划线等组成,不能包含中文字符。 |
Compatible SDK | 兼容的最低API Version。 使用基于Cloud Foundation Kit(云开发服务)的端云一体化开发功能,请选择5.0.0(12)或以上版本。 |
Module name | 模块名称。 |
Device type | 该工程模板支持的设备类型,目前仅支持手机设备。 |
Enable CloudDev | 是否启用云开发。云开发模板默认启用且无法更改。 |
2. 点击“Next”,开始关联云开发资源。
1.1.4 -> 关联云开发资源
为工程关联云开发所需的资源,即将您账号团队在AGC创建的同包名应用关联到当前工程。具体操作如下:
1. (可选)如您尚未登录DevEco Studio,点击“Sign In”,在弹出的账号登录页面,使用已实名认证的华为开发者账号完成登录。
登录成功后,界面将展示账号昵称。
2. 点击“Team”下拉框,选择开发团队。
3. 关联应用
选中团队后,系统根据工程Bundle name在该团队中自动查询AGC上的同包名应用。
- 如查询到应用,选中该应用,点击“Finish”即可。
如查询到的应用尚未关联任何项目(即为游离应用),则无法选中。
如果查询到的应用所属项目尚未启用数据处理位置,请点击界面提示内的“AppGallery Connect”设置数据处理位置。
注意
- 由于云开发目前仅支持中国站点,请确保项目启用的数据处理位置包含中国站点。
- 无论项目启用的默认数据处理位置为哪个站点,后续开发的云服务资源都将部署在中国站点。
如查询到应用但出现如下提示,表明查询到的应用类型为元服务,与当前工程类型不一致。请修改以确保当前工程与AGC上同包名应用均为HarmonyOS应用类型。
如在当前团队中未查询到同包名应用,请先确认填写的包名是否有误。
- 如包名有误,点击界面提示中的“go back”返回工程信息配置界面进行修改。
- 如包名无误,则表明当前团队尚未在AGC控制台创建与当前工程包名相同的应用。您可点击界面提示中的“AppGallery Connect”,前往AGC控制台进行补充创建。
完成以上操作后,DevEco Studio即可获取到同包名应用信息。选中应用后,点击“Finish”。
4. 如所属的团队尚未签署云开发相关协议,点击协议链接仔细阅读协议内容后,勾选同意协议,点击“Finish”。
说明
只有账号持有者和法务角色才有权限签署协议。
5. 进入主开发界面,DevEco Studio执行工程同步操作,端侧工程会自动执行“ohpm install”,云侧工程会自动执行“npm install”,以分别下载端侧和云侧依赖。
说明
若云侧执行“npm install”失败,请排查是否尚未配置npm运行环境。
6. 在主开发界面,可查看刚刚新建的工程。
1.2 -> 工程初始化配置
当您成功创建工程并关联云开发资源后,DevEco Studio会为您的工程自动执行一些初始化配置。
1.2.1 -> 自动开通云开发服务
DevEco Studio为工程关联的项目自动开通云函数、云数据库、云存储等云开发服务,您可在“Notifications”窗口查看服务开通状态。
说明
- 如服务开通失败,可通过CloudDev云开发管理面板快捷进入AGC控制台进行手动开通。
- 如云存储服务自动开通与手动开通均失败,可能是账户欠费导致。请您检查账户是否余额不足,补齐全款后再前往AGC控制台进行手动开通。
1.3 -> 端云一体化开发工程目录结构
端云一体化开发工程主要包含端开发工程(Application)与云开发工程(CloudProgram)。
1.3.1 -> 端开发工程(Application)
端开发工程主要用于开发应用端侧的业务代码,通用云开发模板的端开发工程目录结构如下图所示。“Application/cloud_objects”模块用于存放云对象的端侧调用接口类,“src/main/ets/pages”目录下包含了云存储、云数据库和云函数页面。
1.3.2 -> 云开发工程(CloudProgram)
在云开发工程中,您可为您的应用开发云端代码,包括云函数和云数据库服务代码。通用云开发模板的云开发工程目录结构如下图所示。
clouddb:云数据库目录,包含数据条目目录(dataentry)和对象类型目录(objecttype)。
- dataentry:用于存放数据条目文件。
该目录下一般会根据您选择的云开发模板预置数据条目示例文件。在通用云开发模板工程中,该目录下会预置名为“d_Post.json”的数据条目示例文件,内含两条示例数据。您可按需使用、修改或删除。
objecttype:用于存放对象类型文件。
该目录下一般会根据您选择的云开发模板预置对象类型示例文件。在通用云开发模板工程中,该目录下会预置名为“Post.json”的对象类型示例文件,内含对象类型“Post”的权限、索引、字段名称和字段值等。您可按需使用、修改或删除。
- db-config.json:模块配置文件,主要包含云数据库工程的配置信息,如默认存储区名称、默认数据处理位置。
- cloudfunctions:云函数目录,包含各个云函数/云对象子目录。每个子目录下包含了云函数/云对象的配置文件、入口文件、依赖文件等。
该目录下一般会根据您选择的云开发模板预置示例函数。通用云开发模板工程下预置了一个用于生成UUID的示例云对象“id-generator”,您可按需使用、修改或删除。
- node_modules:工程同步时执行“npm install”生成,包含“typescript”和“@types/node”公共依赖。
- cloud-config.json:云开发工程配置文件,包含应用名称与ID、项目名称与ID、启用的数据处理位置、支持的设备类型等。
- package.json:定义了“typescript”和“@types/node”公共依赖。
- package-lock.json:工程同步时执行“npm install”生成,记录当前状态下实际安装的各个npm package的具体来源和版本号。
2 -> 创建元服务工程
2.1 -> 新建工程
2.1.1 -> 前提条件
- 您已使用已实名认证、且注册地为中国境内(不包含中国香港、中国澳门、中国台湾)的华为开发者账号登录DevEco Studio。
- 请确保您的华为开发者账号无欠款,账户欠费将导致云存储服务开通失败。
2.1.2 -> 选择模板
1. 选择以下任一种方式,打开工程创建向导界面。
- 如果当前未打开任何工程,可以在DevEco Studio的欢迎页点击“Create Project”开始创建一个新工程。
- 如果已经打开了工程,可以在菜单栏选择“File > New > Create Project”来创建一个新工程。
2. 点击“Atomic Service”页签,选择合适的云开发模板,然后点击“Next”。
说明
当前仅支持通用云开发模板([CloudDev]Empty Ability)。
2.1.3 -> 关联云开发资源
为工程关联云开发所需的资源,即将您账号团队在AGC创建的元服务关联到待创建工程。具体操作如下:
1. (可选)如您尚未登录DevEco Studio,点击“Sign In”,在弹出的账号登录页面,使用已实名认证的华为开发者账号完成登录。
登录成功后,界面将展示账号昵称。
2. 选择已登录账号下的APP ID,以关联AGC上的元服务。
- 从APP ID下拉列表中选中所需的APP ID后,界面会展示该元服务在AGC控制台的名称、所属项目、包名与数据处理位置。确认无误后,点击“Next”。
说明
元服务包名为自动生成,格式为固定前缀与appid的组合(com.atomicservice.[appid])。不符合命名规范的包名无法在APP ID下拉列表中展示。
- 如APP ID为空,表明当前账号下尚未在AGC控制台创建元服务。您可点击“Register App ID”,前往AGC控制台进行补充创建。
创建成功后返回DevEco Studio界面,点击“Refresh”刷新当前APP ID列表,选择新生成的APP ID,点击“Next”即可。
- 如查询到的元服务尚未关联任何项目,则无法选中。请先将游离元服务添加到AGC项目下。
如果查询到的元服务所属项目尚未启用数据处理位置,请点击界面提示内的“AppGallery Connect”设置数据处理位置。
注意
- 由于云开发目前仅支持中国站点,请确保项目启用的数据处理位置包含中国站点。
- 无论项目启用的默认数据处理位置为哪个站点,后续开发的云服务资源都将部署在中国站点。
2.1.4 -> 配置工程信息
1. 进入工程配置界面,配置工程的基本信息。
参数 | 说明 |
Project name | 工程的名称,由大小写字母、数字和下划线组成。 |
Bundle name | 创建元服务时自动生成,不支持手动修改。 |
Save location | 工程文件本地存储路径,由大小写字母、数字和下划线等组成,不能包含中文字符。 |
Compatible SDK | 兼容的最低API Version。 元服务使用基于Cloud Foundation Kit(云开发服务)的端云一体化开发功能,请选择5.0.0(12)或以上版本。 |
Module name | 模块名称。 |
Device type | 该工程模板支持的设备类型,目前仅支持手机设备。 |
Enable CloudDev | 是否启用云开发。云开发模板默认启用且无法更改。 |
2. 点击“Finish”,进入主开发界面,DevEco Studio执行工程同步操作,端侧工程会自动执行“ohpm install”,云侧工程会自动执行“npm install”,以分别下载端侧和云侧依赖。
说明
若云侧执行“npm install”失败,请排查是否尚未配置npm运行环境。
3. 在主开发界面,可查看刚刚新建的工程。
2.2 -> 工程初始化配置
当您成功创建工程并关联云开发资源后,DevEco Studio会为您的工程自动执行一些初始化配置。
2.2.1 -> 自动开通云开发服务
DevEco Studio为工程关联的项目自动开通云函数、云数据库、云存储等云开发服务,您可在“Notifications”窗口查看服务开通状态。
说明
- 如服务开通失败,您可通过CloudDev云开发管理面板快捷进入AGC控制台进行手动开通。
- 如云存储服务自动开通与手动开通均失败,可能是账户欠费导致。请您检查账户是否余额不足,补齐欠款后再前往AGC控制台进行手动开通。
2.3 -> 端云一体化开发工程目录结构
端云一体化开发工程主要包含端开发工程(Application)与云开发工程(CloudProgram)。
2.3.1 -> 端开发工程(Application)
端开发工程主要用于开发应用端侧的业务代码,通用云开发模板的端开发工程目录结构如下图所示。“Application/cloud_objects”模块用于存放云对象的调用接口类,“src/main/ets/pages”目录下包含了云存储、云数据库和云函数页面。
2.3.2 -> 云开发工程(CloudProgram)
在云开发工程中,可为元服务开发云端代码,包括云函数和云数据库服务代码。通用云开发模板的云开发工程目录结构如下图所示。
clouddb:云数据库目录,包含数据条目目录(dataentry)和对象类型目录(objecttype)。
- dataentry:用于存放数据条目文件。
该目录下一般会根据您选择的云开发模板预置数据条目示例文件。在通用云开发模板工程中,该目录下会预置名为“d_Post.json”的数据条目示例文件,内含两条示例数据。您可按需使用、修改或删除。
- objecttype:用于存放对象类型文件。该目录下一般会根据您选择的云开发模板预置对象类型示例文件。在通用云开发模板工程中,该目录下会预置名为“Post.json”的对象类型示例文件,内含对象类型“Post”的权限、索引、字段名称和字段值等。您可按需使用、修改或删除。
- db-config.json:模块配置文件,主要包含云数据库工程的配置信息,如默认存储区名称、默认数据处理位置。
- cloudfunctions:云函数目录,包含各个云函数/云对象子目录。每个子目录下包含了云函数/云对象的配置文件、入口文件、依赖文件等。
该目录下一般会根据您选择的云开发模板预置示例函数。通用云开发模板工程下预置了一个用于生成UUID的示例云对象“id-generator”,您可按需使用、修改或删除。
- node_modules:工程同步时执行“npm install”生成,包含“typescript”和“@types/node”公共依赖。
- cloud-config.json:云开发工程配置文件,包含应用名称与ID、项目名称与ID、启用的数据处理位置、支持的设备类型等。
- package.json:定义了“typescript”和“@types/node”公共依赖。
- package-lock.json:工程同步时执行“npm install”生成,记录当前状态下实际安装的各个npm package的具体来源和版本号。
3 -> 历史工程转换为端云一体化开发工程
如此前已经创建了非端云一体化开发工程,希望直接转换为端云一体化开发工程,可执行如下操作:
说明
DevEco Studio NEXT Beta1版本之前的非端云一体化历史工程,在转换前需先进行一体化工程迁移。
1. 创建一个端云一体化开发工程,其中工程的类型(HarmonyOS应用或元服务)必须与您历史工程类型一致,同时Bundle name必须指定为您历史工程的Bundle name。在创建端云一体化开发工程过程中,该Bundle name会关联到AGC应用、项目等云端资源。
2. 打开创建的端云一体化开发工程,右击端开发工程“Application”,选择“Open In > Explorer”,打开工程文件所在的目录。
3. 删除端云一体化开发工程的端侧工程目录“Application”。
4. 将历史工程目录(如“MyApplication30”)拷贝至步骤3的端云一体化开发工程目录下,并改名为“Application”。
5. 重新打开端云一体化开发工程,可发现历史工程的端侧代码已迁移至端云一体化开发工程。
感谢各位大佬支持!!!
互三啦!!!