/ohos5.0/docs/zh-cn/application-dev/quick-start/ |
H A D | hap-package.md | 1 # HAP chapter 3 HAP(Harmony Ability Package)是应用安装和运行的基本单元。HAP包是由代码、资源、第三方库、配置文件等打包生成的模块包,其主要分为两种类型:entry和feature。 12 - 单HAP场景:如果只包含UIAbility组件,无需使用ExtensionAbility组件,优先采用单HAP(即一个entry包)来实现应用开发。虽然一个HAP中可以包含一个或多个UIAbil… 14 - 多HAP场景:如果应用的功能比较复杂,需要使用ExtensionAbility组件,可以采用多HAP(即一个entry包+多个feature包)来实现应用开发,每个HAP中包含一个UIAbili… 21 - 多HAP场景下,App Pack包中同一设备类型的所有HAP中必须有且只有一个Entry类型的HAP,Feature类型的HAP可以有一个或者多个,也可以没有。 23 …HAP场景下,同一应用中的所有HAP的配置文件中的bundleName、versionCode、versionName、minCompatibleVersionCode、debug、minAPIV… 25 …HAP场景下,同一应用的所有HAP、HSP的签名证书要保持一致。上架应用市场是以App Pack形式上架,应用市场分发时会将所有HAP从App Pack中拆分出来,同时对其中的所有HAP进行重签名… 55 在调试前,需要先安装或更新HAP,此处有两种方式: 57 - 直接使用hdc安装、更新HAP。 62 // 安装、更新,多HAP可以指定多个文件路径 [all …]
|
H A D | application-package-structure-stage.md | 29 不同类型的Module编译后会生成对应的HAP、HAR、HSP等文件,开发态视图与编译态视图的对照关系如下: 37 - **module配置文件**:AppScope目录下的app.json5文件字段会合入到Module下面的module.json5文件之中,编译后生成HAP或HSP最终的module.json文… 41 > 在编译HAP和HSP时,会把他们所依赖的HAR直接编译到HAP和HSP中。 52 > - 在应用签名、云端分发、端侧安装时,都是以HAP/HSP为单位进行签名、分发和安装的。 59 HAP、HAR、HSP三者的功能和使用场景总结对比如下: 63 | Ability | [HAP](hap-package.md)| 应用的功能模块,可以独立安装和运行,必须包含一个entry类型的HAP,可选包含一个或多个feature类型的HAP。| 65 | Shared Library | [HSP](in-app-hsp.md)| 动态共享包,运行时复用。<br/> - 当多包(HAP/HSP)同时引用同一个共享包时,采用HSP替代HAR,可以避… 67 HAP、HSP、HAR支持的规格对比如下,其中“√”表示是,“×”表示否。 69 开发者可以根据实际场景所需的能力,选择相应类型的包进行开发。在后续的章节中还会针对如何使用[HAP](hap-package.md)、[HAR](har-package.md)、[HSP](in-a… 71 | 规格| HAP | HAR | HSP | [all …]
|
H A D | application-package-overview.md | 23 …ility类型的Module编译后,会生成一个以.hap为后缀的文件,我们称其为HAP(Harmony Ability Package)包。HAP包可以独立安装和运行,是应用安装的基本单位,一个应… 24 …ry类型的Module:应用的主模块,包含应用的入口界面、入口图标和主功能特性,编译后生成entry类型的HAP。每一个应用分发到同一类型的设备上的应用程序包,只能包含唯一一个entry类型的HA… 25 - feature类型的Module:应用的动态特性模块,编译后生成feature类型的HAP。一个应用中可以包含一个或多个feature类型的HAP,也可以不包含。
|
/ohos5.0/docs/zh-cn/application-dev/key-features/multi-device-app-dev/ |
H A D | introduction.md | 64 * “Ability”类型的Module编译后生成HAP包。 68 应用以APP Pack形式发布,其包含一个或多个HAP包。HAP是应用安装的基本单位,HAP可以分为Entry和Feature两种类型: 70 * Entry类型的HAP:应用的主模块。在同一个应用中,同一设备类型只支持一个Entry类型的HAP,通常用于实现应用的入口界面、入口图标、主特性功能等。 72 * Feature类型的HAP:应用的动态特性模块。Feature类型的HAP通常用于实现应用的特性功能,一个应用程序包可以包含一个或多个Feature类型的HAP,也可以不包含。 75 > 关于Entry类型的HAP包、Feature类型的HAP包、HAR包、HSP包以及APP Pack的详细介绍请参考[应用程序包结构说明](../../quick-start/applicatio… 81 - **部署模型A**:不同类型的设备上按照一定的工程结构组织方式,通过一次编译生成**相同**的HAP(或HAP组合)。 83 - **部署模型B**:不同类型的设备上按照一定的工程结构组织方式,通过一次编译生成**不同**的HAP(或HAP组合)。 121 products层各个子目录各自编译为一个Entry类型的HAP包,作为应用主入口。products层不可以横向调用。 130 │ ├── feature1 # 子功能1, 编译为HAR包或HSP包或Feature类型的HAP包 134 ├── wearable # 智能穿戴泛类目录, 编译为Entry类型的HAP包 [all …]
|
/ohos5.0/docs/zh-cn/application-dev/tools/ |
H A D | packing-tool.md | 13 ## HAP打包指令 31 **表1** HAP打包指令参数说明 89 …HAP合法性校验:** 在对工程内的HAP包打包生成App包时,需要保证被打包的每个HAP在json文件中配置的bundleName、versionCode、minCompatibleVersio… 91 **打包App时的压缩规则:** 打包App时,对release模式的HAP、HSP包会进行压缩,对debug模式的HAP、HSP包不会压缩。 107 | --mode | 是 | app | 多个HAP需满足HAP的合法性校验。 … 108 | --hap-path | 否 | NA | HAP包文件路径,文件名必须以.hap为后缀。如果是多个HAP包需要用“,”分隔。<br/>HAP包文件路径… 141 | --hap-list | 否 | HAP的路径 | HAP包文件路径,文件名必须以.hap为后缀。如果是多个HAP包需要”,“分隔。<br/>HAP文件路径也可以是目录。 … 193 …HAP、HSP包的versionName和versionCode需要保持一致。当只有一个HAP或HSP需要修改升级时,可以调用此命令,将多个HAP、HSP的版本统一。本命令会修改所传入的HAP、H… 205 | --input-list | 是 | HAP或HSP的路径 | 1.HAP或HSP包文件路径,文件名必须以.HAP或.HSP为后缀。如果是多个HAP或HSP包需要“,”分… 253 …HAP合法性校验:** 在对工程内的HAP包打包生成App包时,需要保证被打包的每个HAP在json文件中配置的bundleName、versionCode、minCompatibleVersio… [all …]
|
H A D | unpacking-tool.md | 4 拆包工具是OpenHarmony提供的一种调测工具,支持通过命令行方式将HAP、HSP、App等文件解压成文件夹,并且提供Java接口对HAP、HSP、App等文件进行解析。 17 ### HAP包模式拆包指令 19 开发者可以使用拆包工具的jar包对应用进行拆包,通过传入拆包选项、文件路径,将HAP包解压出来。 32 | --hap-path | 是 | NA | HAP包路径。 … 33 | --rpcid | 否 | true或者false | 是否单独将rpcid文件从HAP包中提取到指定目录,如果为true,将仅提取rpcid文件,不对HAP包进行拆包。 | 56 ### 从HAP包中获取rpcid文件 71 | --rpcid | 否 | true或者false | 是否单独将rpcid文件从HAP包中提取到指定目录,如果为true,将仅提取rpcid文件,不对HAP包进行拆包。 | 116 包解析接口仅用于应用市场对打好的HAP、HSP、App等包进行解析,获取其中配置文件等信息。 147 | moduleName | String | HAP名称 | NA | 149 | deviceType | List\<String> | 表示当前HAP包所支持的设备类型 | NA | [all …]
|
H A D | bm-tool.md | 51 | -p | 必选参数,指定路径和多个HAP同时安装。 | 443 用户安装未签名的HAP包。 447 HAP包没有签名。 631 * 场景一:设备上已安装的旧HAP和现在要安装的新HAP所使用的SDK中的releaseType值不一样。 632 * 场景二:安装的应用为多HAP时,每个HAP所使用的SDK中的releaseType值不一致。 636 * 场景一:请先卸载设备上已安装的HAP,再安装新的HAP。 637 * 场景二:使用相同版本的SDK对HAP重新打包,保证多HAP的releaseType值一致。 1134 1. bundleName和HAP的一致。 1135 2. version和HAP的一致。 1136 3. 签名和HAP的一致。 [all …]
|
/ohos5.0/docs/zh-cn/application-dev/arkts-utils/ |
H A D | arkts-dynamic-import.md | 45 // HAP's oh-package.json5 103 - **HAP常量动态import HAR模块名** 153 - **HAP常量动态import HSP模块名** 219 - **HAP常量动态import ohpm包** 235 - **HAP常量动态import自己的单文件** 274 - **HAP常量动态import加载API** 423 - **HAP变量动态import ohpm包** 513 - **HAP变量动态import加载API** 535 HAR之间依赖关系转移到HAP/HSP后: 544 - HSP不支持转移依赖。即:HAP->HSP1->HSP2->HSP3,这里的HSP2和HSP3不能转移到HAP上面。 [all …]
|
/ohos5.0/docs/zh-cn/application-dev/reference/apis-ability-kit/ |
H A D | errorcode-bundle.md | 121 Failed to install the HAP because the HAP fails to be parsed. 127 1. HAP的格式不是zip格式。 128 2. HAP的配置文件不满足json格式。 129 3. HAP的配置文件缺少必要的字段。 146 1. HAP没有签名。 148 3. 升级的HAP与已安装的HAP签名信息不一致。 160 Failed to install the HAP because the HAP path is invalid or the HAP is too large. 166 1. 输入错误,HAP的文件路径不存在。 167 2. HAP的路径无法访问。 168 3. HAP的大小超过最大限制4G。 [all …]
|
H A D | js-apis-installer-sys.md | 196 | 17700010 | Failed to install the HAP because the HAP fails to be parsed. | 198 | 17700012 | Failed to install the HAP because the HAP path is invalid or the HAP is too large. | 286 | 17700010 | Failed to install the HAP because the HAP fails to be parsed. | 288 | 17700012 | Failed to install the HAP because the HAP path is invalid or the HAP is too large. | 380 | 17700010 | Failed to install the HAP because the HAP fails to be parsed. | 382 | 17700012 | Failed to install the HAP because the HAP path is invalid or the HAP is too large. | 1103 | 17700010 | Failed to install the HAP because the HAP fails to be parsed. | 1105 | 17700012 | Failed to install the HAP because the HAP path is invalid or the HAP is too large. | 1180 | 17700010 | Failed to install the HAP because the HAP fails to be parsed. | 1182 | 17700012 | Failed to install the HAP because the HAP path is invalid or the HAP is too large. | [all …]
|
/ohos5.0/docs/en/application-dev/quick-start/ |
H A D | hap-package.md | 1 # HAP chapter 8 An application package can contain either only one entry HAP or one entry HAP plus one or more feat… 12 …le HAP: If your application only uses the UIAbility (that is, no ExtensionAbility is required), a … 14 …ti-HAP: If your application needs to use ExtensionAbilities, develop multiple HAPs (one entry HAP … 19 - APIs and ArkUI components cannot be exported from the HAP to other modules. 27 ## Creating an HAP 29 To create an HAP in DevEco Studio: 39 ## Developing an HAP 45 ## Debugging an HAP 49 To debug an HAP, use either of the following tools: [all …]
|
/ohos5.0/docs/zh-cn/device-dev/subsystems/ |
H A D | subsys-build-gn-hap-compilation-guide.md | 1 # HAP编译构建指导 8 | HAP | Harmony Ability Package,一个HAP文件包含应用的所有内容,由代码、资源、三方库及应用配置文件组成,其文件后缀名为.hap。 | 16 提供HAP编译构建功能,支持FA模型、Stage模型。 23 声明一个HAP目标,该目标会生成一个HAP,最终将会打包到system镜像中。 34 | hap_name | HAP的名字,可选,默认为目标名 | 38 | js2abc | 是否需要将该HAP的js代码转换为ARK的字节码。| 39 | ets2abc | 是否需要将该HAP的ets代码转换为ARK的字节码。| 45 | module_install_name | 安装时的HAP名称。| 68 原始assets,这些assets会直接拷贝到HAP的assets目录下。 126 # 单独编译HAP [all …]
|
/ohos5.0/build/docs/ |
H A D | how-to-build-a-hap.md | 1 # HAP编译构建指导 8 | HAP | OpenHarmony Ability Package,一个HAP文件包含应用的所有内容,由代码、资源、三方库及应用配置文件组成,其文件后缀名为.hap。 | 16 提供HAP编译构建功能,支持FA模型、Stage模型。 23 声明一个HAP目标,该目标会生成一个HAP,最终将会打包到system镜像中。 34 | hap_name | HAP的名字,可选,默认为目标名 | 38 | js2abc | 是否需要将该HAP的js代码转换为ARK的字节码。| 39 | ets2abc | 是否需要将该HAP的ets代码转换为ARK的字节码。| 45 | module_install_name | 安装时的HAP名称。| 68 原始assets,这些assets会直接拷贝到HAP的assets目录下。 126 # 单独编译HAP [all …]
|
/ohos5.0/docs/zh-cn/application-dev/performance/ |
H A D | reduce-package-size.md | 10 …HAP、HSP)的场景时,可以使用[HSP(Harmony Shared Package)](../quick-start/in-app-hsp.md)动态共享包在应用的多个包(HAP、HSP)之… 11 - 使用扫描工具扫描分析App、HAP、HSP包,根据输出的检测报告,采取相应措施优化应用。 46 在多包场景下,如果应用的多个HAP或HSP包使用HAR包实现代码和资源的共享,那么打包后的每个HAP或HSP包中都会存在一份共享HAR包的拷贝,导致App包中存在冗余代码和资源。如下图示例,应用模块… 48  52  56 [扫描工具](../tools/app-check-tool.md)可用于分析检测应用包,根据不同的参数设定,扫描指定路径的App、HAP、HSP包内容并输出检测结果报告,为开发者优化包结构或排查问… 66 - 多包(HAP、HSP)间重复资源,可以使用HSP实现资源的复用。
|
/ohos5.0/docs/en/application-dev/arkts-utils/ |
H A D | arkts-dynamic-import.md | 45 // HAP's oh-package.json5 122 // HAP's oh-package.json5 147 // HAP's oh-package.json5 172 // HAP's oh-package.json5 197 // HAP's oh-package.json5 213 // HAP's oh-package.json5 229 // HAP's oh-package.json5 268 // HAP's oh-package.json5 341 // HAP's oh-package.json5 555 // HAP's oh-package.json5 [all …]
|
/ohos5.0/docs/zh-cn/release-notes/changelogs/OpenHarmony_4.0.10.2/ |
H A D | changelogs-bundlemanager.md | 5 使用API version 9或更早版本的SDK编译HAP时,安装HAP后会将HAP的资源文件解压。 6 使用API version 10或更新版本的SDK编译HAP时,安装HAP后HAP的资源文件不再解压。
|
/ohos5.0/docs/en/application-dev/reference/apis-ability-kit/ |
H A D | js-apis-installer-sys.md | 198 | 17700010 | Failed to install the HAP because the HAP fails to be parsed. | 200 | 17700012 | Failed to install the HAP because the HAP path is invalid or the HAP is too large. | 290 | 17700010 | Failed to install the HAP because the HAP fails to be parsed. | 292 | 17700012 | Failed to install the HAP because the HAP path is invalid or the HAP is too large. | 386 | 17700010 | Failed to install the HAP because the HAP fails to be parsed. | 388 | 17700012 | Failed to install the HAP because the HAP path is invalid or the HAP is too large. | 1109 | 17700010 | Failed to install the HAP because the HAP fails to be parsed. | 1111 | 17700012 | Failed to install the HAP because the HAP path is invalid or the HAP is too large. | 1186 | 17700010 | Failed to install the HAP because the HAP fails to be parsed. | 1188 | 17700012 | Failed to install the HAP because the HAP path is invalid or the HAP is too large. | [all …]
|
/ohos5.0/docs/en/device-dev/subsystems/ |
H A D | subsys-build-gn-hap-compilation-guide.md | 1 # HAP Build Guide 8 | HAP | Harmony Ability Package, released as a HAP file, with the file name extension .h… 16 The HAP provides HAP build functions and supports FA and stage models. 23 This template declares a HAP target, which generates a HAP that will be packaged into the system im… 34 | hap_name | HAP name, which is optional. By default, it is the target name.| 38 | js2abc | Whether to convert JS code of the HAP into ARK bytecode.| 39 | ets2abc | Whether to convert eTS code of the HAP into ARK bytecode.| 40 | certificate_profile | Certificate profile used to sign the HAP.| 45 | module_install_name | Name of the HAP during installation.| 100 hap_name = "SystemUI-NavigationBar" # HAP name [all …]
|
/ohos5.0/docs/zh-cn/release-notes/changelogs/OpenHarmony_4.0.3.3/ |
H A D | changelogs-bundlemanager.md | 2 ## cl.bundlemanager.1 包管理底层能力变更,仅支持系统资源HAP自定义权限,其它HAP均不支持自定义权限。 4 仅支持系统资源HAP自定义权限,其它HAP均不支持自定义权限。包管理在解析HAP时,仅支持解析资源HAP(包名为:ohos.global.systemres)的配置文件中的definePermiss… 5 如果有应用需要自定义权限,可以在资源HAP的[配置文件](https://gitee.com/openharmony/utils_system_resources/blob/master/syste… 12 包管理底层能力变更,仅支持系统资源HAP自定义权限,其它HAP均不支持自定义权限。 15 如果有应用需要自定义权限,可以在资源HAP的[配置文件](https://gitee.com/openharmony/utils_system_resources/blob/master/syste…
|
/ohos5.0/docs/zh-cn/application-dev/application-models/ |
H A D | process-model-stage.md | 11 > 仅2in1设备支持将HAP和UIAbility设置为独立进程,设置方法如下: 12 > - 如果需要指定某个HAP运行在独立进程中,可以在module.json5文件中将isolationMode字段配置为isolationOnly(只在独立进程中运行)或者isolationFir… 25 …HAP配置一个自定义进程名,该HAP中的UIAbility、DataShareExtensionAbility、ServiceExtensionAbility就会运行在自定义进程中<!--Del-…
|
H A D | module-switch.md | 11 | package | 标识HAP的包结构名称,在应用内保证唯一性。 | / | Stage模型使用name来保证应用唯一性。**FA模型升级到Stage模型时,Stage模型的name需要和FA模… 12 | name | 标识HAP的类名。 | / | FA模型中实际未使能,Stage模型没有与之对应的标签。 | 14 | distro对象中的moduleName | 标识当前HAP的名称。<br/>**distro对象**中的moduleName。 | name | 标签变更。 | 15 | distro对象中的moduleType | 标识当前HAP的类型,包括两种类型:entry和feature。另外,如果表示HAR包类型,请设置为har。 | type | 标签变更。 | 16 | distro对象中的installationFree | 标识当前HAP是否支持免安装特性。 | installationFree | 标签变更。 | 17 | distro对象中的deliveryWithInstall | 标识当前HAP是否支持随应用安装。 | deliveryWithInstall | 标签变更。 | 18 | metaData | 标识HAP的元信息。 | metadata | 具体差异见表2。 |
|
/ohos5.0/docs/zh-cn/application-dev/reference/apis-localization-kit/ |
H A D | _raw_file_descriptor.md | 8 …ptor](rawfile.md#oh_resourcemanager_getrawfiledescriptor)的输出参数, 涵盖了rawfile文件的文件描述符以及在HAP包中的起始位置和长度。 23 | long [start](#start) | rawfile在HAP包中的起始位置,单位为long | 24 | long [length](#length) | rawfile在HAP包中的长度,单位为long | 45 rawfile在HAP包中的长度,单位为long 54 rawfile在HAP包中的起始位置,单位为long
|
H A D | _raw_file_descriptor64.md | 8 …64](rawfile.md#oh_resourcemanager_getrawfiledescriptor64)的输出参数, 涵盖了rawfile文件的文件描述符以及在HAP包中的起始位置和长度。 23 | int64_t [start](#start) | rawfile在HAP包中的起始位置,单位为int64_t | 24 | int64_t [length](#length) | rawfile在HAP包中的长度,单位为int64_t | 45 rawfile在HAP包中的长度,单位为int64_t 54 rawfile在HAP包中的起始位置,单位为int64_t
|
/ohos5.0/docs/en/application-dev/tools/ |
H A D | packing-tool.md | 13 ## HAP Packing Command 31 **Table 1** Parameters of the HAP packing command 91 …on rules**: When packaging the APP files, the HAP and HSP files in release mode are compressed, bu… 108 …HAP files. The file name extension must be .hap. If there are multiple HAP files, separate them wi… 141 …HAP files | Path of the HAP files. The file name extension must be .hap. If there are multiple H… 193 …HAP and HSP files must be the same. When only one HAP or HSP needs to be updated, you can run the … 205 …HAP or HSP files | Path of the HAP or HSP files. The file name extension must be .hap or .hsp… 231 This command is used to generate an HAP file for the **pack.res** file. 253 …HAP validity check**: When packing the HAP files in a project to generate an APP file, ensure that… 255 …on rules**: When packaging the APP files, the HAP and HSP files in release mode are compressed, bu… [all …]
|
/ohos5.0/docs/en/release-notes/changelogs/OpenHarmony_4.0.10.2/ |
H A D | changelogs-bundlemanager.md | 5 …r an earlier version is used to compile the HAP, the resource files of the HAP are decompressed af… 7 …or a later version is used to compile the HAP, the resource files of the HAP are not decompressed …
|