| <?xml version="1.0" encoding="utf-8"?> |
| <!-- |
| /* |
| * Copyright (C) 2015 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| --> |
| <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
| package="com.android.shell" |
| coreApp="true" |
| android:sharedUserId="android.uid.shell" |
| > |
| |
| <!-- Standard permissions granted to the shell. --> |
| <uses-permission android:name="android.permission.GET_RUNTIME_PERMISSIONS" /> |
| <uses-permission android:name="android.permission.SEND_SMS" /> |
| <uses-permission android:name="android.permission.READ_SMS" /> |
| <uses-permission android:name="android.permission.CALL_PHONE" /> |
| <uses-permission android:name="android.permission.READ_PHONE_STATE" /> |
| <uses-permission android:name="android.permission.READ_PRECISE_PHONE_STATE" /> |
| <uses-permission android:name="android.permission.READ_ACTIVE_EMERGENCY_SESSION" /> |
| <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" /> |
| <uses-permission android:name="android.permission.READ_CONTACTS" /> |
| <uses-permission android:name="android.permission.WRITE_CONTACTS" /> |
| <uses-permission android:name="android.permission.READ_CALENDAR" /> |
| <uses-permission android:name="android.permission.WRITE_CALENDAR" /> |
| <uses-permission android:name="android.permission.READ_USER_DICTIONARY" /> |
| <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" /> |
| <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> |
| <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> |
| <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> |
| <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
| <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> |
| <uses-permission android:name="android.permission.BLUETOOTH" /> |
| <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" /> |
| <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" /> |
| <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> |
| <uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" /> |
| <uses-permission android:name="android.permission.MANAGE_USB" /> |
| <uses-permission android:name="android.permission.USE_RESERVED_DISK" /> |
| <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/> |
| <!-- System tool permissions granted to the shell. --> |
| <uses-permission android:name="android.permission.REAL_GET_TASKS" /> |
| <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> |
| <uses-permission android:name="android.permission.REORDER_TASKS" /> |
| <uses-permission android:name="android.permission.REMOVE_TASKS" /> |
| <uses-permission android:name="android.permission.SET_ANIMATION_SCALE" /> |
| <uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" /> |
| <uses-permission android:name="android.permission.WRITE_SETTINGS" /> |
| <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> |
| <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" /> |
| <uses-permission android:name="android.permission.WRITE_DEVICE_CONFIG" /> |
| <uses-permission android:name="android.permission.BROADCAST_STICKY" /> |
| <uses-permission android:name="android.permission.MANAGE_ACCESSIBILITY" /> |
| <!-- Development tool permissions granted to the shell. --> |
| <uses-permission android:name="android.permission.SET_DEBUG_APP" /> |
| <uses-permission android:name="android.permission.SET_PROCESS_LIMIT" /> |
| <uses-permission android:name="android.permission.SET_ALWAYS_FINISH" /> |
| <uses-permission android:name="android.permission.DUMP" /> |
| <uses-permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES" /> |
| <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /> |
| <!-- Internal permissions granted to the shell. --> |
| <uses-permission android:name="android.permission.FORCE_BACK" /> |
| <uses-permission android:name="android.permission.BATTERY_STATS" /> |
| <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" /> |
| <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" /> |
| <uses-permission android:name="android.permission.INJECT_EVENTS" /> |
| <uses-permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT" /> |
| <uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER" /> |
| <uses-permission android:name="android.permission.READ_INPUT_STATE" /> |
| <uses-permission android:name="android.permission.SET_ORIENTATION" /> |
| <uses-permission android:name="android.permission.INSTALL_PACKAGES" /> |
| <!-- TODO(b/152310230): remove once APIs are confirmed to be sufficient --> |
| <uses-permission android:name="com.android.permission.USE_INSTALLER_V2" /> |
| <uses-permission android:name="android.permission.MOVE_PACKAGE" /> |
| <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" /> |
| <uses-permission android:name="android.permission.CLEAR_APP_CACHE" /> |
| <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS" /> |
| <uses-permission android:name="android.permission.DELETE_CACHE_FILES" /> |
| <uses-permission android:name="android.permission.DELETE_PACKAGES" /> |
| <uses-permission android:name="android.permission.MANAGE_ROLLBACKS" /> |
| <uses-permission android:name="android.permission.TEST_MANAGE_ROLLBACKS" /> |
| <uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" /> |
| <uses-permission android:name="android.permission.READ_FRAME_BUFFER" /> |
| <uses-permission android:name="android.permission.REBOOT" /> |
| <uses-permission android:name="android.permission.DEVICE_POWER" /> |
| <uses-permission android:name="android.permission.POWER_SAVER" /> |
| <uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER" /> |
| <uses-permission android:name="android.permission.BACKUP" /> |
| <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" /> |
| <uses-permission android:name="android.permission.STOP_APP_SWITCHES" /> |
| <uses-permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" /> |
| <uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS" /> |
| <uses-permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS" /> |
| <uses-permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS" /> |
| <uses-permission android:name="android.permission.WHITELIST_RESTRICTED_PERMISSIONS" /> |
| <!-- Permission required to test onPermissionsChangedListener --> |
| <uses-permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS" /> |
| <uses-permission android:name="android.permission.SET_KEYBOARD_LAYOUT" /> |
| <uses-permission android:name="android.permission.GET_DETAILED_TASKS" /> |
| <uses-permission android:name="android.permission.SET_SCREEN_COMPATIBILITY" /> |
| <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> |
| <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
| <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" /> |
| <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" /> |
| <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> |
| <uses-permission android:name="android.permission.CREATE_USERS" /> |
| <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" /> |
| <uses-permission android:name="android.permission.ACCESS_LOWPAN_STATE"/> |
| <uses-permission android:name="android.permission.CHANGE_LOWPAN_STATE"/> |
| <uses-permission android:name="android.permission.READ_LOWPAN_CREDENTIAL"/> |
| <uses-permission android:name="android.permission.BLUETOOTH_STACK" /> |
| <uses-permission android:name="android.permission.GET_ACCOUNTS" /> |
| <uses-permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN" /> |
| <uses-permission android:name="android.permission.FRAME_STATS" /> |
| <uses-permission android:name="android.permission.BIND_APPWIDGET" /> |
| <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" /> |
| <uses-permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"/> |
| <uses-permission android:name="android.permission.CHANGE_APP_IDLE_STATE" /> |
| <uses-permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" /> |
| <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> |
| <uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" /> |
| <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> |
| <!-- Shell only holds android.permission.NETWORK_SCAN in order to to enable CTS testing --> |
| <uses-permission android:name="android.permission.NETWORK_SCAN" /> |
| <uses-permission android:name="android.permission.REGISTER_CALL_PROVIDER" /> |
| <uses-permission android:name="android.permission.REGISTER_CONNECTION_MANAGER" /> |
| <uses-permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION" /> |
| <uses-permission android:name="android.permission.GET_APP_OPS_STATS" /> |
| <uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES" /> |
| <uses-permission android:name="android.permission.VIBRATE" /> |
| <uses-permission android:name="android.permission.ACCESS_VIBRATOR_STATE" /> |
| <uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" /> |
| <uses-permission android:name="android.permission.START_TASKS_FROM_RECENTS" /> |
| <uses-permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" /> |
| <uses-permission android:name="android.permission.ACTIVITY_EMBEDDING" /> |
| <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" /> |
| <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" /> |
| <uses-permission android:name="android.permission.MANAGE_AUTO_FILL" /> |
| <uses-permission android:name="android.permission.MANAGE_CONTENT_CAPTURE" /> |
| <uses-permission android:name="android.permission.MANAGE_CONTENT_SUGGESTIONS" /> |
| <uses-permission android:name="android.permission.MANAGE_APP_PREDICTIONS" /> |
| <uses-permission android:name="android.permission.NETWORK_SETTINGS" /> |
| <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> |
| <uses-permission android:name="android.permission.SET_TIME" /> |
| <uses-permission android:name="android.permission.SET_TIME_ZONE" /> |
| <uses-permission android:name="android.permission.DISABLE_HIDDEN_API_CHECKS" /> |
| <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" /> |
| <uses-permission android:name="android.permission.OBSERVE_ROLE_HOLDERS" /> |
| <uses-permission android:name="android.permission.STATUS_BAR_SERVICE" /> |
| <uses-permission android:name="android.permission.STATUS_BAR" /> |
| <!-- Permission needed to rename bugreport notifications (so they're not shown as Shell) --> |
| <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" /> |
| <uses-permission android:name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE" /> |
| <!-- Permission needed to hold a wakelock in dumpstate.cpp (drop_root_user()) --> |
| <uses-permission android:name="android.permission.WAKE_LOCK" /> |
| <!-- Permission needed to enable/disable overlays --> |
| <uses-permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES" /> |
| <!-- Permission needed to access privileged VR APIs --> |
| <uses-permission android:name="android.permission.RESTRICTED_VR_ACCESS" /> |
| <uses-permission android:name="android.permission.MANAGE_BIND_INSTANT_SERVICE" /> |
| <uses-permission android:name="android.permission.SET_HARMFUL_APP_WARNINGS" /> |
| <uses-permission android:name="android.permission.MANAGE_SENSORS" /> |
| <uses-permission android:name="android.permission.MANAGE_AUDIO_POLICY" /> |
| <uses-permission android:name="android.permission.MANAGE_CAMERA" /> |
| <!-- Permissions needed to test system only camera devices --> |
| <uses-permission android:name="android.permission.CAMERA" /> |
| <uses-permission android:name="android.permission.SYSTEM_CAMERA" /> |
| <!-- Permissions needed for CTS camera test: RecordingTest.java when assuming shell id --> |
| <uses-permission android:name="android.permission.RECORD_AUDIO" /> |
| <!-- Permission needed to enable/disable Bluetooth/Wifi --> |
| <uses-permission android:name="android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED" /> |
| <uses-permission android:name="android.permission.MANAGE_WIFI_WHEN_WIRELESS_CONSENT_REQUIRED" /> |
| <!-- Permission needed to invoke DynamicSystem (AOT) --> |
| <uses-permission android:name="android.permission.INSTALL_DYNAMIC_SYSTEM" /> |
| <!-- Used to clean up heap dumps on boot. --> |
| <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> |
| |
| |
| <uses-permission android:name="android.permission.CONTROL_KEYGUARD" /> |
| <uses-permission android:name="android.permission.SUSPEND_APPS" /> |
| <uses-permission android:name="android.permission.OBSERVE_APP_USAGE" /> |
| <uses-permission android:name="android.permission.READ_CLIPBOARD_IN_BACKGROUND" /> |
| <!-- Permission needed to wipe the device for Test Harness Mode --> |
| <uses-permission android:name="android.permission.ENABLE_TEST_HARNESS_MODE" /> |
| |
| <!-- Permissions required to test CompanionDeviceManager teses in CTS --> |
| <uses-permission android:name="android.permission.MANAGE_COMPANION_DEVICES" /> |
| <uses-permission android:name="android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS" /> |
| |
| <uses-permission android:name="android.permission.MANAGE_APPOPS" /> |
| |
| <!-- Permission required for storage tests - FuseDaemonHostTest --> |
| <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/> |
| |
| <!-- Permission needed to run network tests in CTS --> |
| <uses-permission android:name="android.permission.MANAGE_TEST_NETWORKS" /> |
| <!-- Permission needed to test tcp keepalive offload. --> |
| <uses-permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD" /> |
| |
| <!-- Permission needed to run keyguard manager tests in CTS --> |
| <uses-permission android:name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS" /> |
| |
| <!-- Permission needed to test wallpaper component --> |
| <uses-permission android:name="android.permission.SET_WALLPAPER" /> |
| <uses-permission android:name="android.permission.SET_WALLPAPER_COMPONENT" /> |
| |
| <!-- Permission required to test ContentResolver caching. --> |
| <uses-permission android:name="android.permission.CACHE_CONTENT" /> |
| |
| <!-- Permission required to test ExplicitHealthCheckServiceImpl. --> |
| <uses-permission android:name="android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE" /> |
| |
| <!-- Permission required for CTS test - CrossProfileAppsHostSideTest --> |
| <uses-permission android:name="android.permission.INTERACT_ACROSS_PROFILES"/> |
| |
| <!-- permissions required for CTS test - PhoneStateListenerTest --> |
| <uses-permission android:name="android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH" /> |
| |
| <!-- Permissions required for ganting and logging --> |
| <uses-permission android:name="android.permission.LOG_COMPAT_CHANGE"/> |
| <uses-permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG"/> |
| <uses-permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG"/> |
| |
| <!-- Permission required for CTS test - UiModeManagerTest --> |
| <uses-permission android:name="android.permission.ENTER_CAR_MODE_PRIORITIZED"/> |
| |
| <!-- Permission required for CTS test - SystemConfigTest --> |
| <uses-permission android:name="android.permission.READ_CARRIER_APP_INFO"/> |
| |
| <!-- Permission required for CTS test - CarModeInCallServiceTest --> |
| <uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"/> |
| |
| <!-- Permission requried for CTS test - CellBroadcastIntentsTest --> |
| <uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS"/> |
| |
| <!-- Permission required for CTS test - TetheringManagerTest --> |
| <uses-permission android:name="android.permission.TETHER_PRIVILEGED"/> |
| |
| <!-- Permission required for CTS test - CtsOsTestCases --> |
| <uses-permission android:name="android.permission.MANAGE_CRATES"/> |
| |
| <!-- Allows setting brightness from the shell --> |
| <uses-permission android:name="android.permission.CONTROL_DISPLAY_BRIGHTNESS"/> |
| |
| <!-- Permission required for CTS test - ShortcutManagerUsageTest --> |
| <uses-permission android:name="android.permission.ACCESS_SHORTCUTS"/> |
| |
| <!-- Permissions required for CTS test - UsageStatsTest --> |
| <uses-permission android:name="android.permission.MANAGE_NOTIFICATIONS"/> |
| <uses-permission android:name="android.permission.ACCESS_LOCUS_ID_USAGE_STATS"/> |
| |
| <!-- Permissions required to test ambient display. --> |
| <uses-permission android:name="android.permission.READ_DREAM_STATE"/> |
| <uses-permission android:name="android.permission.WRITE_DREAM_STATE"/> |
| |
| <!-- Permission required for CTS test - CtsLightsManagerTest --> |
| <uses-permission android:name="android.permission.CONTROL_DEVICE_LIGHTS" /> |
| |
| <!-- Permission needed to test mainline permission module rollback --> |
| <uses-permission android:name="android.permission.UPGRADE_RUNTIME_PERMISSIONS" /> |
| |
| <!-- Permission needed to read wifi network credentials for CtsNetTestCases --> |
| <uses-permission android:name="android.permission.READ_WIFI_CREDENTIAL" /> |
| |
| <!-- Permission needed to use wifi usability API's for CtsNetTestCases --> |
| <uses-permission android:name="android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE" /> |
| |
| <!-- Permission needed to test registering pull atom callbacks --> |
| <uses-permission android:name="android.permission.REGISTER_STATS_PULL_ATOM" /> |
| |
| <!-- Permission needed to modify settings overrideable by restore in CTS tests --> |
| <uses-permission android:name="android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE" /> |
| |
| <!-- Permission required for testing system audio effect APIs. --> |
| <uses-permission android:name="android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS"/> |
| |
| <!-- Permissions required for CTS test - TunerTest --> |
| <uses-permission android:name="android.permission.ACCESS_TV_DESCRAMBLER" /> |
| <uses-permission android:name="android.permission.ACCESS_TV_TUNER" /> |
| <uses-permission android:name="android.permission.TUNER_RESOURCE_ACCESS" /> |
| |
| <application android:label="@string/app_label" |
| android:theme="@android:style/Theme.DeviceDefault.DayNight" |
| android:defaultToDeviceProtectedStorage="true" |
| android:directBootAware="true"> |
| <provider |
| android:name="androidx.core.content.FileProvider" |
| android:authorities="com.android.shell" |
| android:grantUriPermissions="true" |
| android:exported="false"> |
| <meta-data |
| android:name="android.support.FILE_PROVIDER_PATHS" |
| android:resource="@xml/file_provider_paths" /> |
| </provider> |
| |
| <provider |
| android:name=".BugreportStorageProvider" |
| android:authorities="com.android.shell.documents" |
| android:grantUriPermissions="true" |
| android:exported="true" |
| android:permission="android.permission.MANAGE_DOCUMENTS" |
| android:enabled="false"> |
| <intent-filter> |
| <action android:name="android.content.action.DOCUMENTS_PROVIDER" /> |
| </intent-filter> |
| </provider> |
| |
| <provider android:name=".HeapDumpProvider" |
| android:authorities="com.android.shell.heapdump" |
| android:grantUriPermissions="true" |
| android:exported="true" /> |
| |
| <activity |
| android:name=".BugreportWarningActivity" |
| android:theme="@*android:style/Theme.DeviceDefault.Dialog.Alert.DayNight" |
| android:finishOnCloseSystemDialogs="true" |
| android:excludeFromRecents="true" |
| android:exported="false" /> |
| |
| <activity android:name=".HeapDumpActivity" |
| android:theme="@*android:style/Theme.Translucent.NoTitleBar" |
| android:label="@*android:string/dump_heap_title" |
| android:finishOnCloseSystemDialogs="true" |
| android:noHistory="true" |
| android:excludeFromRecents="true" |
| android:exported="false" /> |
| |
| <!-- |
| The following is used as a no-op/null home activity when |
| no other MAIN/HOME activity is present (e.g., in CSI). |
| --> |
| <activity android:name=".NullHome" |
| android:excludeFromRecents="true" |
| android:label="" |
| android:screenOrientation="nosensor"> |
| <!-- The priority here is set to be lower than that for Settings --> |
| <intent-filter android:priority="-1100"> |
| <action android:name="android.intent.action.MAIN" /> |
| <category android:name="android.intent.category.HOME" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| |
| <receiver |
| android:name=".BugreportRequestedReceiver" |
| android:permission="android.permission.TRIGGER_SHELL_BUGREPORT"> |
| <intent-filter> |
| <action android:name="com.android.internal.intent.action.BUGREPORT_REQUESTED" /> |
| </intent-filter> |
| </receiver> |
| |
| <receiver |
| android:name=".HeapDumpReceiver" |
| android:permission="android.permission.DUMP"> |
| <intent-filter> |
| <action android:name="android.intent.action.BOOT_COMPLETED" /> |
| <action android:name="com.android.internal.intent.action.HEAP_DUMP_FINISHED" /> |
| <action android:name="com.android.shell.action.DELETE_HEAP_DUMP" /> |
| </intent-filter> |
| </receiver> |
| |
| <service |
| android:name=".BugreportProgressService" |
| android:exported="false"/> |
| </application> |
| </manifest> |