Name |
Date |
Size |
#Lines |
LOC |
||
---|---|---|---|---|---|---|
.. | - | - | ||||
META-INF/ | 12-May-2024 | - | 15 | 12 | ||
adapter/ | 12-May-2024 | - | 9,621 | 6,093 | ||
configcheck/ | 12-May-2024 | - | 4,268 | 4,262 | ||
jar/ | 12-May-2024 | - | 50 | 41 | ||
modulecheck/ | 12-May-2024 | - | 1,940 | 1,931 | ||
.gitignore | D | 12-May-2024 | 11 | 3 | 2 | |
BUILD.gn | D | 12-May-2024 | 4 KiB | 131 | 110 | |
LICENSE | D | 12-May-2024 | 9.9 KiB | 177 | 150 | |
OAT.xml | D | 12-May-2024 | 4.8 KiB | 71 | 16 | |
README_zh.md | D | 12-May-2024 | 6.8 KiB | 146 | 119 |
README_zh.md
1 # 打包工具组件<a name="ZH-CH_TOPIC_0000001126664311"></a> 2 3 - [简介](#section_introduction) 4 - [目录](#section_directory) 5 - [约束](#section_constraints) 6 - [使用说明](#section_usage_instruction) 7 - [相关仓](#section_related_repo) 8 9 ## 简介<a name="section_introduction"></a> 10 11 本组件包含打包、拆包和包解析三个功能模块: 12 13 - 打包模块有将资源文件打包成hap包,和将多个hap包打包成app包两种模式。 14 - 拆包模块有从app包中拆出所有hap包,和从hap包中拆出json文件两种模式。 15 16 - 包解析模块可以根据对应解析模式,解析出指定设备类型下的hap包列表、hap包信息、签名信息等。 17 18 ## 目录<a name="section_directory"></a> 19 ``` 20 /developtools/packing_tool 21 ├── adapter 22 │ ├── bundles # packing_tool工具的版本信息 23 │ └── ohos # packing_tool工具实现的核心代码 24 └── META-INF 25 ├── collectingbininfo_tool # bin文件转成hap文件的外部依赖配置文件 26 ├── packingbin_tool # hap文件转成bin文件的外部依赖配置文件 27 └── unpacking_tool # 解析hap文件的外部依赖配置文件 28 ``` 29 30 ## 约束<a name="section_constraints"></a> 31 1.当打包的app包依赖hap包时,需要hap包打包执行完毕后,再执行app包的打包命令。可根据命令执行的返回值来控制。 32 33 2.如果命令中多次出现同一个命令,则取其最后一次出现的值,如--mode hap --mode app,即mode值为app。 34 35 3.如果同一命令中跟多个参数,则取距离其最近的值。如--mode hap app,mode值为hap。 36 37 4.传入的参数路径不能以“--”开头,避免与指令冲突。 38 39 5.指令必须是小写的,如:--mode,文件后缀不区分大小写。 40 41 6.建议命令中传入绝对路径。 42 43 7.打包完成后,res/下的文件会放到assets/entry/resources目录下。 44 assets/目录下的文件将被放入assets/目录下。 45 lib/下的文件将被放入libs/目录下。 46 maple-so/下的文件将被放入maple/目录下。 47 resource.index的文件将被放入assets/entry/目录下。 48 49 ## 使用说明<a name="section_usage_instruction"></a> 50 打包hap包命令示例: 51 ``` 52 java -jar hmos_app_packing_tool.jar --mode <option> --json-path <option> --maple-so-path [option] --profile-path [option] --maple-so-dir [option] --dex-path [option] --lib-path [option] --resources-path [option] --shell-apk-path [option] --index-path [option] --out-path <option> --force [option] 53 ``` 54 参数含义及规范: 55 56 | 参数 | 是否必选 | 描述 | 57 | ---- | ---- | ---- | 58 |--mode|是|打包类型(hap)| 59 |--json-path|是|.json文件路径,文件名必须为config.json。| 60 |--profile-path|否|CAPABILITY.profile文件路径| 61 |--maple-so-dir|否|maple so目录输入路径| 62 |--dex-path|否|1.dex文件路径,文件名必须以.dex为后缀。如果是多个dex需要用“,”分隔<br>2.dex文件路径也可以为目录| 63 |--lib-path|否|lib库文件路径| 64 |--resources-path|否|resources资源包路径| 65 |--shell-apk-path|否|1.shell apk文件路径,文件名必须以.apk为后缀。如果是多个apk需要用“,”分隔<br>2.shell apk文件路径也可以为目录| 66 |--index-path|否|.index文件路径,文件名必须为resources.index| 67 |--out-path|是|目标文件路径,文件名必须以.hap为后缀| 68 |--force|否|默认值为false,如果为true,表示当目标文件存在时,强制删除| 69 |--file-path|否|可指定目标文件夹,将其打入hap包内| 70 71 打包har包命令示例: 72 ``` 73 java -jar hmos_app_packing_tool.jar --mode <options> --json-path <option> --jar-path <option> --lib-path [option] --resources-path [option] --out-path <option> --force [option] 74 ``` 75 参数含义及规范: 76 77 | 参数 | 是否必选 | 描述 | 78 | ---- | ---- | ---- | 79 |--mode|是|打包类型(har)| 80 |--json-path|是|.json文件路径,文件名必须为config.json| 81 |--jar-path|否|1.jar文件路径,文件名必须以.jar为后缀。如果是多个jar需要用“,”分隔<br>2.jar文件路径也可以为目录| 82 |--lib-path|否|lib库文件路径| 83 |--res-path|否|resource资源包路径| 84 |--out-path|是|目标文件路径,文件名必须以.hap为后缀| 85 |--force|否|默认值为false,如果为true,表示当目标文件存在时,强制删除| 86 87 打包app包命令示例: 88 ``` 89 java -jar hmos_app_packing_tool.jar --mode <options> --hap-path <option> --out-path [option] --signature-path [option] --certificate-path [option] --pack-info-path <option> --force [option] 90 ``` 91 参数含义及规范: 92 93 | 参数 | 是否必选 | 描述 | 94 | ---- | ---- | ---- | 95 |--mode|是|打包类型(app)| 96 |--hap-path|是|1.hap包文件路径,文件名必须以.hap为后缀。如果是多个hap包需要用“,”分隔<br>2.hap文件路径也可以是目录| 97 |--pack-info-path|是|文件名必须为pack.info| 98 |--out-path|是|目标文件路径,文件名必须以.app为后缀| 99 |--signature-path|否|签名路径| 100 |--certificate-path|否|证书路径| 101 |--force|否|默认值为false,如果为true,表示当目标文件存在时,强制删除| 102 103 拆hap包命令示例: 104 ``` 105 java -jar hmos_app_unpacking_tool.jar --mode <options> --hap-path <option> --out-path [option] --force [option] --unpackapk [option] 106 ``` 107 参数含义及规范: 108 109 | 参数 | 是否必选 | 描述 | 110 | ---- | ---- | ---- | 111 |--mode|是|拆包类型(hap)| 112 |--hap-path|是|hap包路径| 113 |--out-path|是|拆包目标文件路径| 114 |--force|否|默认值为false,如果为true,表示当目标文件存在时,强制删除| 115 |--unpackapk|否|默认值为false,如果为true,表示拆包时,将apk解压出来| 116 117 拆har包命令示例: 118 ``` 119 java -jar hmos_app_unpacking_tool.jar --mode <options> --har-path <option> --out-path [option] --force [option] 120 ``` 121 参数含义及规范: 122 123 | 参数 | 是否必选 | 描述 | 124 | ---- | ---- | ---- | 125 |--mode|是|拆包类型(har)| 126 |--har-path|是|har包路径| 127 |--out-path|是|拆包目标文件路径| 128 |--force|否|默认值为false,如果为true,表示当目标文件存在时,强制删除| 129 130 拆app包命令示例: 131 ``` 132 java -jar hmos_app_unpacking_tool.jar --mode <options> --app-path <option> --out-path [option] --force [option] --unpackapk [option] 133 ``` 134 参数含义及规范: 135 136 | 参数 | 是否必选 | 描述 | 137 | ---- | ---- | ---- | 138 |--mode|是|拆包类型(app)| 139 |--app-path|是|app包路径| 140 |--out-path|是|拆包目标文件路径| 141 |--force|否|默认值为false,如果为true,表示当目标文件存在时,强制删除| 142 |--unpackapk|否|默认值为false,如果为true,表示拆包时,将apk解压出来| 143 144 ## 相关仓<a name="section_related_repo"></a> 145 146 [用户程序框架子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/%E7%94%A8%E6%88%B7%E7%A8%8B%E5%BA%8F%E6%A1%86%E6%9E%B6%E5%AD%90%E7%B3%BB%E7%BB%9F.md)