• Home
Name
Date
Size
#Lines
LOC

..--

META-INF/12-May-2024-1512

adapter/12-May-2024-9,6216,093

configcheck/12-May-2024-4,2684,262

jar/12-May-2024-5041

modulecheck/12-May-2024-1,9401,931

.gitignoreD12-May-202411 32

BUILD.gnD12-May-20244 KiB131110

LICENSED12-May-20249.9 KiB177150

OAT.xmlD12-May-20244.8 KiB7116

README_zh.mdD12-May-20246.8 KiB146119

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)