• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4 * Copyright (C) 2015 The Android Open Source Project
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 *     http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18-->
19<manifest xmlns:android="http://schemas.android.com/apk/res/android"
20        package="com.android.shell"
21        coreApp="true"
22        android:sharedUserId="android.uid.shell"
23        >
24
25        <!-- Standard permissions granted to the shell. -->
26    <uses-permission android:name="android.permission.GET_RUNTIME_PERMISSIONS" />
27    <uses-permission android:name="android.permission.SEND_SMS" />
28    <uses-permission android:name="android.permission.READ_SMS" />
29    <uses-permission android:name="android.permission.CALL_PHONE" />
30    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
31    <uses-permission android:name="android.permission.READ_PRECISE_PHONE_STATE" />
32    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
33    <uses-permission android:name="android.permission.READ_CONTACTS" />
34    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
35    <uses-permission android:name="android.permission.READ_CALENDAR" />
36    <uses-permission android:name="android.permission.WRITE_CALENDAR" />
37    <uses-permission android:name="android.permission.READ_USER_DICTIONARY" />
38    <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
39    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
40    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
41    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
42    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
43    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
44    <uses-permission android:name="android.permission.BLUETOOTH" />
45    <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
46    <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
47    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
48    <uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" />
49    <uses-permission android:name="android.permission.MANAGE_USB" />
50    <uses-permission android:name="android.permission.USE_RESERVED_DISK" />
51    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
52    <!-- System tool permissions granted to the shell. -->
53    <uses-permission android:name="android.permission.REAL_GET_TASKS" />
54    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
55    <uses-permission android:name="android.permission.REORDER_TASKS" />
56    <uses-permission android:name="android.permission.REMOVE_TASKS" />
57    <uses-permission android:name="android.permission.SET_ANIMATION_SCALE" />
58    <uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" />
59    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
60    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
61    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
62    <uses-permission android:name="android.permission.WRITE_DEVICE_CONFIG" />
63    <uses-permission android:name="android.permission.BROADCAST_STICKY" />
64    <uses-permission android:name="android.permission.MANAGE_ACCESSIBILITY" />
65    <!-- Development tool permissions granted to the shell. -->
66    <uses-permission android:name="android.permission.SET_DEBUG_APP" />
67    <uses-permission android:name="android.permission.SET_PROCESS_LIMIT" />
68    <uses-permission android:name="android.permission.SET_ALWAYS_FINISH" />
69    <uses-permission android:name="android.permission.DUMP" />
70    <uses-permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES" />
71    <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
72    <!-- Internal permissions granted to the shell. -->
73    <uses-permission android:name="android.permission.FORCE_BACK" />
74    <uses-permission android:name="android.permission.BATTERY_STATS" />
75    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
76    <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" />
77    <uses-permission android:name="android.permission.INJECT_EVENTS" />
78    <uses-permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT" />
79    <uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER" />
80    <uses-permission android:name="android.permission.READ_INPUT_STATE" />
81    <uses-permission android:name="android.permission.SET_ORIENTATION" />
82    <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
83    <uses-permission android:name="android.permission.MOVE_PACKAGE" />
84    <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
85    <uses-permission android:name="android.permission.CLEAR_APP_CACHE" />
86    <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS" />
87    <uses-permission android:name="android.permission.DELETE_CACHE_FILES" />
88    <uses-permission android:name="android.permission.DELETE_PACKAGES" />
89    <uses-permission android:name="android.permission.MANAGE_ROLLBACKS" />
90    <uses-permission android:name="android.permission.TEST_MANAGE_ROLLBACKS" />
91    <uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" />
92    <uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
93    <uses-permission android:name="android.permission.DEVICE_POWER" />
94    <uses-permission android:name="android.permission.POWER_SAVER" />
95    <uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER" />
96    <uses-permission android:name="android.permission.BACKUP" />
97    <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" />
98    <uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
99    <uses-permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" />
100    <uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS" />
101    <uses-permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS" />
102    <uses-permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS" />
103    <uses-permission android:name="android.permission.WHITELIST_RESTRICTED_PERMISSIONS" />
104    <uses-permission android:name="android.permission.SET_KEYBOARD_LAYOUT" />
105    <uses-permission android:name="android.permission.GET_DETAILED_TASKS" />
106    <uses-permission android:name="android.permission.SET_SCREEN_COMPATIBILITY" />
107    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
108    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
109    <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
110    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
111    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
112    <uses-permission android:name="android.permission.CREATE_USERS" />
113    <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" />
114    <uses-permission android:name="android.permission.ACCESS_LOWPAN_STATE"/>
115    <uses-permission android:name="android.permission.CHANGE_LOWPAN_STATE"/>
116    <uses-permission android:name="android.permission.READ_LOWPAN_CREDENTIAL"/>
117    <uses-permission android:name="android.permission.BLUETOOTH_STACK" />
118    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
119    <uses-permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN" />
120    <uses-permission android:name="android.permission.FRAME_STATS" />
121    <uses-permission android:name="android.permission.BIND_APPWIDGET" />
122    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
123    <uses-permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"/>
124    <uses-permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS" />
125    <uses-permission android:name="android.permission.CHANGE_APP_IDLE_STATE" />
126    <uses-permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" />
127    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
128    <uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" />
129    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
130    <!-- Shell only holds android.permission.NETWORK_SCAN in order to to enable CTS testing -->
131    <uses-permission android:name="android.permission.NETWORK_SCAN" />
132    <uses-permission android:name="android.permission.REGISTER_CALL_PROVIDER" />
133    <uses-permission android:name="android.permission.REGISTER_CONNECTION_MANAGER" />
134    <uses-permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION" />
135    <uses-permission android:name="android.permission.GET_APP_OPS_STATS" />
136    <uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES" />
137    <uses-permission android:name="android.permission.VIBRATE" />
138    <uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" />
139    <uses-permission android:name="android.permission.START_TASKS_FROM_RECENTS" />
140    <uses-permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
141    <uses-permission android:name="android.permission.ACTIVITY_EMBEDDING" />
142    <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
143    <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
144    <uses-permission android:name="android.permission.MANAGE_AUTO_FILL" />
145    <uses-permission android:name="android.permission.MANAGE_CONTENT_CAPTURE" />
146    <uses-permission android:name="android.permission.MANAGE_CONTENT_SUGGESTIONS" />
147    <uses-permission android:name="android.permission.MANAGE_APP_PREDICTIONS" />
148    <uses-permission android:name="android.permission.NETWORK_SETTINGS" />
149    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
150    <uses-permission android:name="android.permission.SET_TIME" />
151    <uses-permission android:name="android.permission.SET_TIME_ZONE" />
152    <uses-permission android:name="android.permission.DISABLE_HIDDEN_API_CHECKS" />
153    <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" />
154    <uses-permission android:name="android.permission.OBSERVE_ROLE_HOLDERS" />
155    <uses-permission android:name="android.permission.STATUS_BAR_SERVICE" />
156    <uses-permission android:name="android.permission.STATUS_BAR" />
157    <!-- Permission needed to rename bugreport notifications (so they're not shown as Shell) -->
158    <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
159    <uses-permission android:name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE" />
160    <!-- Permission needed to hold a wakelock in dumpstate.cpp (drop_root_user()) -->
161    <uses-permission android:name="android.permission.WAKE_LOCK" />
162    <!-- Permission needed to enable/disable overlays -->
163    <uses-permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES" />
164    <!-- Permission needed to access privileged VR APIs -->
165    <uses-permission android:name="android.permission.RESTRICTED_VR_ACCESS" />
166    <uses-permission android:name="android.permission.MANAGE_BIND_INSTANT_SERVICE" />
167    <uses-permission android:name="android.permission.SET_HARMFUL_APP_WARNINGS" />
168    <uses-permission android:name="android.permission.MANAGE_SENSORS" />
169    <uses-permission android:name="android.permission.MANAGE_AUDIO_POLICY" />
170    <uses-permission android:name="android.permission.MANAGE_CAMERA" />
171    <!-- Permission needed to enable/disable Bluetooth/Wifi -->
172    <uses-permission android:name="android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED" />
173    <uses-permission android:name="android.permission.MANAGE_WIFI_WHEN_WIRELESS_CONSENT_REQUIRED" />
174    <!-- Permission needed to invoke DynamicSystem (AOT) -->
175    <uses-permission android:name="android.permission.INSTALL_DYNAMIC_SYSTEM" />
176
177
178    <uses-permission android:name="android.permission.CONTROL_KEYGUARD" />
179    <uses-permission android:name="android.permission.SUSPEND_APPS" />
180    <uses-permission android:name="android.permission.OBSERVE_APP_USAGE" />
181    <uses-permission android:name="android.permission.READ_CLIPBOARD_IN_BACKGROUND" />
182    <!-- Permission needed to wipe the device for Test Harness Mode -->
183    <uses-permission android:name="android.permission.ENABLE_TEST_HARNESS_MODE" />
184    <uses-permission android:name="android.permission.MANAGE_COMPANION_DEVICES" />
185
186    <uses-permission android:name="android.permission.MANAGE_APPOPS" />
187
188    <!-- Permission needed to run network tests in CTS -->
189    <uses-permission android:name="android.permission.MANAGE_TEST_NETWORKS" />
190    <!-- Permission needed to test tcp keepalive offload. -->
191    <uses-permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD" />
192
193    <!-- Permission needed to run keyguard manager tests in CTS -->
194    <uses-permission android:name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS" />
195
196    <!-- Permission needed to test wallpaper component -->
197    <uses-permission android:name="android.permission.SET_WALLPAPER" />
198    <uses-permission android:name="android.permission.SET_WALLPAPER_COMPONENT" />
199
200    <!-- Permission required to test ContentResolver caching. -->
201    <uses-permission android:name="android.permission.CACHE_CONTENT" />
202
203    <!-- Permission required to test ExplicitHealthCheckServiceImpl. -->
204    <uses-permission android:name="android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE" />
205
206    <!-- Permission required for CTS test - CrossProfileAppsHostSideTest -->
207    <uses-permission android:name="android.permission.INTERACT_ACROSS_PROFILES"/>
208
209    <application android:label="@string/app_label"
210                android:theme="@android:style/Theme.DeviceDefault.DayNight"
211                android:defaultToDeviceProtectedStorage="true"
212                android:directBootAware="true">
213        <provider
214            android:name="androidx.core.content.FileProvider"
215            android:authorities="com.android.shell"
216            android:grantUriPermissions="true"
217            android:exported="false">
218            <meta-data
219                android:name="android.support.FILE_PROVIDER_PATHS"
220                android:resource="@xml/file_provider_paths" />
221        </provider>
222
223        <provider
224            android:name=".BugreportStorageProvider"
225            android:authorities="com.android.shell.documents"
226            android:grantUriPermissions="true"
227            android:exported="true"
228            android:permission="android.permission.MANAGE_DOCUMENTS"
229            android:enabled="false">
230            <intent-filter>
231                <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
232            </intent-filter>
233        </provider>
234
235        <activity
236            android:name=".BugreportWarningActivity"
237            android:finishOnCloseSystemDialogs="true"
238            android:excludeFromRecents="true"
239            android:exported="false" />
240
241        <receiver
242            android:name=".BugreportReceiver"
243            android:permission="android.permission.DUMP">
244            <intent-filter>
245                <action android:name="com.android.internal.intent.action.BUGREPORT_STARTED" />
246                <action android:name="com.android.internal.intent.action.BUGREPORT_FINISHED" />
247            </intent-filter>
248        </receiver>
249
250        <receiver
251            android:name=".RemoteBugreportReceiver"
252            android:permission="android.permission.DUMP">
253            <intent-filter>
254                <action android:name="com.android.internal.intent.action.REMOTE_BUGREPORT_FINISHED" />
255            </intent-filter>
256        </receiver>
257
258        <service
259            android:name=".BugreportProgressService"
260            android:exported="false"/>
261    </application>
262</manifest>
263