1# edm工具
2
3Enterprise Device Manager(企业设备管理工具,简称为edm),为设备管理应用提供调试和测试能力,例如激活企业设备管理拓展能力、解除激活企业设备管理拓展能力。
4
5## 环境要求
6
7在使用本工具前,开发者需要先获取<!--Del-->[<!--DelEnd-->hdc工具<!--Del-->](../../device-dev/subsystems/subsys-toolchain-hdc-guide.md)<!--DelEnd-->,执行hdc shell。
8
9## edm工具命令列表
10
11| 命令          | 描述                                                         |
12| ------------- | ------------------------------------------------------------ |
13| help          | 帮助命令,用于查询edm支持的命令信息。                        |
14| enable-admin  | 激活命令,用于激活企业设备管理拓展能力,目标组件必须为[enterpriseAdmin类型的ExtensionAbility](../mdm/mdm-kit-admin.md)。 |
15| disable-admin | 解除激活命令,用于解除激活企业设备管理拓展能力。             |
16
17## 帮助命令(help)
18
19
20  ```bash
21# 显示帮助信息
22edm help
23  ```
24
25## 激活命令(enable-admin)
26
27
28  ```bash
29edm enable-admin [-h] [-n bundleName] [-a abilityName]
30  ```
31
32**激活命令参数列表**
33
34| 参数              | 参数说明                |
35| ----------------- | ----------------------- |
36| -h/--help         | 帮助信息。              |
37| -n/--bundle-name  | 必选参数,bundleName。  |
38| -a/--ability-name | 必选参数,abilityName。 |
39
40 **示例**:
41
42```bash
43# 激活一个所在应用包名为com.example.mdmsample,类名为EnterpriseAdminAbility的EnterpriseAdminExtensionAbility。
44edm enable-admin -n com.example.mdmsample -a com.example.mdmsample.EnterpriseAdminAbility
45// 执行结果
46enable-admin success.
47```
48
49
50## 解除激活命令(disable-admin)
51
52  ```bash
53edm disable-admin [-h] [-n bundleName]
54  ```
55
56**解除激活命令参数列表**
57
58| 参数             | 参数说明               |
59| ---------------- | ---------------------- |
60| -h/--help        | 帮助信息。             |
61| -n/--bundle-name | 必选参数,bundleName。 |
62
63  **示例**:
64
65
66  ```bash
67# 解除激活所在应用包名为com.example.mdmsample的EnterpriseAdminExtensionAbility。
68edm disable-admin -n com.example.mdmsample
69// 执行结果
70disable-admin success.
71  ```
72
73## edm工具错误信息
74
75### error: command requires option.
76
77**错误描述**
78
79未传入bundleName和abilityName。
80
81**可能原因**
82
83未传入bundleName和abilityName。
84
85**处理步骤**
86
871、如果当前使用的命令是enable-admin,请补充-n \<bundle-name\>和-a \<ability-name\>参数。
88
892、如果当前使用的命令是disable-admin,请补充-n \<bundle-name\>参数。
90
91### error: -n, --bundle-name option requires an argument.
92
93**错误描述**
94
95传入的bundleName为空。
96
97**可能原因**
98
99传入的bundleName为空。
100
101**处理步骤**
102
103检查-n后的参数,请补充bundleName。
104
105### error: -a, --ability-name option requires an argument.
106
107**错误描述**
108
109 传入的abilityName为空。
110
111**可能原因**
112
113 传入的abilityName为空。
114
115**处理步骤**
116
117检查-a后的参数,请补充abilityName。
118
119### error: unknown option.
120
121**错误描述**
122
123 传入了未知的参数。
124
125**可能原因**
126
127 传入了未知的参数。
128
129**处理步骤**
130
131请确认参数是否在参数列表中。
132
133### error: -n \<bundle-name\> is expected.
134
135**错误描述**
136
137未传入bundleName。
138
139**可能原因**
140
141未传入bundleName。
142
143**处理步骤**
144
145请补充-n \<bundle-name\>。
146
147### error: -a \<ability-name\> is expected.
148
149**错误描述**
150
151未传入abilityName。
152
153**可能原因**
154
155未传入abilityName。
156
157**处理步骤**
158
159请补充-a \<ability-name\>。
160
161### error: the administrator ability component is invalid.
162
163**错误描述**
164
165传入的bundleName或者abilityName不正确或者不是enterpriseAdmin类型的ExtensionAbility。
166
167**可能原因**
168
1691、传入的bundleName不正确。
170
1712、传入的abilityName不正确。
172
1733、传入的不是enterpriseAdmin类型的ExtensionAbility。
174
175**处理步骤**
176
177查询应用的bundleName和enterpriseAdmin类型的ExtensionAbility的abilityName,并将其传入到参数中。
178
179### error: failed to enable the administrator application of the device.
180
181**错误描述**
182
183激活失败。
184
185**可能原因**
186
1871、传入的bundleName不正确。
188
1892、传入的不是enterpriseAdmin类型的ExtensionAbility。
190
1913、存在已激活的正式的enterpriseAdmin类型的ExtensionAbility。
192
193**处理步骤**
194
1951、查询应用的bundleName和enterpriseAdmin类型的ExtensionAbility的abilityName,并将其传入到参数中。
196
1972、请使用未被管控的设备进行调试。
198
199### error: failed to disable the administrator application of the device.
200
201**错误描述**
202
203解除激活失败。
204
205**可能原因**
206
2071、此组件未被激活。
208
2092、此组件不是通过hdc命令被激活的。
210
2113、解除激活失败。
212
213**处理步骤**
214
215查询可以被hdc命令解除激活的应用的bundleName,并将其传入到参数中。