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.SEND_SMS" /> 27 <uses-permission android:name="android.permission.CALL_PHONE" /> 28 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 29 <uses-permission android:name="android.permission.READ_CONTACTS" /> 30 <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 31 <uses-permission android:name="android.permission.READ_CALENDAR" /> 32 <uses-permission android:name="android.permission.WRITE_CALENDAR" /> 33 <uses-permission android:name="android.permission.READ_USER_DICTIONARY" /> 34 <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" /> 35 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 36 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 37 <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> 38 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 39 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 40 <uses-permission android:name="android.permission.BLUETOOTH" /> 41 <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" /> 42 <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" /> 43 <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> 44 <uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" /> 45 <uses-permission android:name="android.permission.MANAGE_USB" /> 46 <uses-permission android:name="android.permission.USE_RESERVED_DISK" /> 47 <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/> 48 <!-- System tool permissions granted to the shell. --> 49 <uses-permission android:name="android.permission.REAL_GET_TASKS" /> 50 <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> 51 <uses-permission android:name="android.permission.REORDER_TASKS" /> 52 <uses-permission android:name="android.permission.SET_ANIMATION_SCALE" /> 53 <uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" /> 54 <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 55 <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> 56 <uses-permission android:name="android.permission.BROADCAST_STICKY" /> 57 <!-- Development tool permissions granted to the shell. --> 58 <uses-permission android:name="android.permission.SET_DEBUG_APP" /> 59 <uses-permission android:name="android.permission.SET_PROCESS_LIMIT" /> 60 <uses-permission android:name="android.permission.SET_ALWAYS_FINISH" /> 61 <uses-permission android:name="android.permission.DUMP" /> 62 <uses-permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES" /> 63 <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /> 64 <!-- Internal permissions granted to the shell. --> 65 <uses-permission android:name="android.permission.FORCE_BACK" /> 66 <uses-permission android:name="android.permission.BATTERY_STATS" /> 67 <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" /> 68 <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" /> 69 <uses-permission android:name="android.permission.INJECT_EVENTS" /> 70 <uses-permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT" /> 71 <uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER" /> 72 <uses-permission android:name="android.permission.READ_INPUT_STATE" /> 73 <uses-permission android:name="android.permission.SET_ORIENTATION" /> 74 <uses-permission android:name="android.permission.INSTALL_PACKAGES" /> 75 <uses-permission android:name="android.permission.MOVE_PACKAGE" /> 76 <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" /> 77 <uses-permission android:name="android.permission.CLEAR_APP_CACHE" /> 78 <uses-permission android:name="android.permission.DELETE_CACHE_FILES" /> 79 <uses-permission android:name="android.permission.DELETE_PACKAGES" /> 80 <uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" /> 81 <uses-permission android:name="android.permission.READ_FRAME_BUFFER" /> 82 <uses-permission android:name="android.permission.DEVICE_POWER" /> 83 <uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER" /> 84 <uses-permission android:name="android.permission.BACKUP" /> 85 <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" /> 86 <uses-permission android:name="android.permission.STOP_APP_SWITCHES" /> 87 <uses-permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" /> 88 <uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS" /> 89 <uses-permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS" /> 90 <uses-permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS" /> 91 <uses-permission android:name="android.permission.SET_KEYBOARD_LAYOUT" /> 92 <uses-permission android:name="android.permission.GET_DETAILED_TASKS" /> 93 <uses-permission android:name="android.permission.SET_SCREEN_COMPATIBILITY" /> 94 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 95 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 96 <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" /> 97 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" /> 98 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> 99 <uses-permission android:name="android.permission.CREATE_USERS" /> 100 <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" /> 101 <uses-permission android:name="android.permission.ACCESS_LOWPAN_STATE"/> 102 <uses-permission android:name="android.permission.CHANGE_LOWPAN_STATE"/> 103 <uses-permission android:name="android.permission.READ_LOWPAN_CREDENTIAL"/> 104 <uses-permission android:name="android.permission.BLUETOOTH_STACK" /> 105 <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 106 <uses-permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN" /> 107 <uses-permission android:name="android.permission.FRAME_STATS" /> 108 <uses-permission android:name="android.permission.BIND_APPWIDGET" /> 109 <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" /> 110 <uses-permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"/> 111 <uses-permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS" /> 112 <uses-permission android:name="android.permission.CHANGE_APP_IDLE_STATE" /> 113 <uses-permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" /> 114 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> 115 <uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" /> 116 <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> 117 <uses-permission android:name="android.permission.REGISTER_CALL_PROVIDER" /> 118 <uses-permission android:name="android.permission.REGISTER_CONNECTION_MANAGER" /> 119 <uses-permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION" /> 120 <uses-permission android:name="android.permission.GET_APP_OPS_STATS" /> 121 <uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES" /> 122 <uses-permission android:name="android.permission.VIBRATE" /> 123 <uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" /> 124 <uses-permission android:name="android.permission.START_TASKS_FROM_RECENTS" /> 125 <uses-permission android:name="android.permission.ACTIVITY_EMBEDDING" /> 126 <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" /> 127 <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" /> 128 <uses-permission android:name="android.permission.MANAGE_AUTO_FILL" /> 129 <uses-permission android:name="android.permission.NETWORK_SETTINGS" /> 130 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 131 <uses-permission android:name="android.permission.SET_TIME" /> 132 <uses-permission android:name="android.permission.SET_TIME_ZONE" /> 133 <uses-permission android:name="android.permission.DISABLE_HIDDEN_API_CHECKS" /> 134 <!-- Permission needed to rename bugreport notifications (so they're not shown as Shell) --> 135 <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" /> 136 <!-- Permission needed to hold a wakelock in dumpstate.cpp (drop_root_user()) --> 137 <uses-permission android:name="android.permission.WAKE_LOCK" /> 138 <!-- Permission needed to enable/disable overlays --> 139 <uses-permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES" /> 140 <!-- Permission needed to access privileged VR APIs --> 141 <uses-permission android:name="android.permission.RESTRICTED_VR_ACCESS" /> 142 <uses-permission android:name="android.permission.MANAGE_BIND_INSTANT_SERVICE" /> 143 <uses-permission android:name="android.permission.SET_HARMFUL_APP_WARNINGS" /> 144 <uses-permission android:name="android.permission.MANAGE_SENSORS" /> 145 <uses-permission android:name="android.permission.MANAGE_AUDIO_POLICY" /> 146 <uses-permission android:name="android.permission.MANAGE_CAMERA" /> 147 <!-- Permission needed to enable/disable Bluetooth/Wifi when on permission review mode --> 148 <uses-permission 149 android:name="android.permission.MANAGE_BLUETOOTH_WHEN_PERMISSION_REVIEW_REQUIRED" /> 150 <uses-permission 151 android:name="android.permission.MANAGE_WIFI_WHEN_PERMISSION_REVIEW_REQUIRED" /> 152 <uses-permission android:name="android.permission.WATCH_APPOPS" /> 153 154 <uses-permission android:name="android.permission.CONTROL_KEYGUARD" /> 155 156 <application android:label="@string/app_label" 157 android:defaultToDeviceProtectedStorage="true" 158 android:directBootAware="true"> 159 <provider 160 android:name="android.support.v4.content.FileProvider" 161 android:authorities="com.android.shell" 162 android:grantUriPermissions="true" 163 android:exported="false"> 164 <meta-data 165 android:name="android.support.FILE_PROVIDER_PATHS" 166 android:resource="@xml/file_provider_paths" /> 167 </provider> 168 169 <provider 170 android:name=".BugreportStorageProvider" 171 android:authorities="com.android.shell.documents" 172 android:grantUriPermissions="true" 173 android:exported="true" 174 android:permission="android.permission.MANAGE_DOCUMENTS" 175 android:enabled="false"> 176 <intent-filter> 177 <action android:name="android.content.action.DOCUMENTS_PROVIDER" /> 178 </intent-filter> 179 </provider> 180 181 <activity 182 android:name=".BugreportWarningActivity" 183 android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.Alert" 184 android:finishOnCloseSystemDialogs="true" 185 android:excludeFromRecents="true" 186 android:exported="false" /> 187 188 <receiver 189 android:name=".BugreportReceiver" 190 android:permission="android.permission.DUMP"> 191 <intent-filter> 192 <action android:name="com.android.internal.intent.action.BUGREPORT_STARTED" /> 193 <action android:name="com.android.internal.intent.action.BUGREPORT_FINISHED" /> 194 </intent-filter> 195 </receiver> 196 197 <receiver 198 android:name=".RemoteBugreportReceiver" 199 android:permission="android.permission.DUMP"> 200 <intent-filter> 201 <action android:name="com.android.internal.intent.action.REMOTE_BUGREPORT_FINISHED" /> 202 </intent-filter> 203 </receiver> 204 205 <service 206 android:name=".BugreportProgressService" 207 android:exported="false"/> 208 </application> 209 </manifest> 210