• 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.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