Home | History | Annotate | Download | only in Shell
      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 
    185     <uses-permission android:name="android.permission.MANAGE_APPOPS" />
    186 
    187     <!-- Permission needed to run network tests in CTS -->
    188     <uses-permission android:name="android.permission.MANAGE_TEST_NETWORKS" />
    189     <!-- Permission needed to test tcp keepalive offload. -->
    190     <uses-permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD" />
    191 
    192     <!-- Permission needed to run keyguard manager tests in CTS -->
    193     <uses-permission android:name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS" />
    194 
    195     <!-- Permission needed to test wallpaper component -->
    196     <uses-permission android:name="android.permission.SET_WALLPAPER" />
    197     <uses-permission android:name="android.permission.SET_WALLPAPER_COMPONENT" />
    198 
    199     <!-- Permission required to test ContentResolver caching. -->
    200     <uses-permission android:name="android.permission.CACHE_CONTENT" />
    201 
    202     <!-- Permission required to test ExplicitHealthCheckServiceImpl. -->
    203     <uses-permission android:name="android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE" />
    204     
    205     <!-- Permission required for CTS test - CrossProfileAppsHostSideTest -->
    206     <uses-permission android:name="android.permission.INTERACT_ACROSS_PROFILES"/>
    207 
    208     <application android:label="@string/app_label"
    209                 android:theme="@android:style/Theme.DeviceDefault.DayNight"
    210                 android:defaultToDeviceProtectedStorage="true"
    211                 android:directBootAware="true">
    212         <provider
    213             android:name="androidx.core.content.FileProvider"
    214             android:authorities="com.android.shell"
    215             android:grantUriPermissions="true"
    216             android:exported="false">
    217             <meta-data
    218                 android:name="android.support.FILE_PROVIDER_PATHS"
    219                 android:resource="@xml/file_provider_paths" />
    220         </provider>
    221 
    222         <provider
    223             android:name=".BugreportStorageProvider"
    224             android:authorities="com.android.shell.documents"
    225             android:grantUriPermissions="true"
    226             android:exported="true"
    227             android:permission="android.permission.MANAGE_DOCUMENTS"
    228             android:enabled="false">
    229             <intent-filter>
    230                 <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
    231             </intent-filter>
    232         </provider>
    233 
    234         <activity
    235             android:name=".BugreportWarningActivity"
    236             android:finishOnCloseSystemDialogs="true"
    237             android:excludeFromRecents="true"
    238             android:exported="false" />
    239 
    240         <receiver
    241             android:name=".BugreportReceiver"
    242             android:permission="android.permission.DUMP">
    243             <intent-filter>
    244                 <action android:name="com.android.internal.intent.action.BUGREPORT_STARTED" />
    245                 <action android:name="com.android.internal.intent.action.BUGREPORT_FINISHED" />
    246             </intent-filter>
    247         </receiver>
    248 
    249         <receiver
    250             android:name=".RemoteBugreportReceiver"
    251             android:permission="android.permission.DUMP">
    252             <intent-filter>
    253                 <action android:name="com.android.internal.intent.action.REMOTE_BUGREPORT_FINISHED" />
    254             </intent-filter>
    255         </receiver>
    256 
    257         <service
    258             android:name=".BugreportProgressService"
    259             android:exported="false"/>
    260     </application>
    261 </manifest>
    262