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