Documents ui что это андроид

Как работает SystemUI в Android

В этой статье я разберу архитектуру и принцип работы основного приложения Android — SystemUI. Меня заинтересовала эта тема, потому что мне интересно, как устроена система, которой пользуется такое огромное количество пользователей и для которой ежедневно выкатываются тысячи приложений в Google Play или просто на просторы интернета. Помимо этого меня интересует вопрос информационной безопасности Android и создаваемых под него приложений.

В системе Android, SystemUI — это приложение, путь к исходному коду которого находится в platform_frameworks_base/packages/SystemUI/, на девайсе оно находится в system/priv-app/-SystemUI.

priv-app — это каталог, где хранятся привилегированные приложения. К слову, по пути system/app лежат предустановленные приложения, а обычные приложения, которые мы устанавливаем на свой девайс самостоятельно, хранятся в data/app.

Тут сразу возникает вопрос: почему нельзя засунуть все предустановленные и привилегированные приложения в один каталог, зачем нужно это разделение?

Дело в том, что некоторые приложения более системные, чем другие:) И это разделение необходимо для того чтобы уменьшить покрытие эксплойтами системных приложений, для получения доступа к защищенным операциям. Можно создавать приложение, которое будет иметь специальный ApplicationInfo.FLAG_SYSTEM и в системе получит больше прав, однако apk файл с таким разрешением будет помещен в раздел system.

Итак, SystemUI — это apk-файл, который по сути своей обычное приложение. Однако, если посмотреть на сложное устройство SystemUI, перестает казаться, что это всего лишь простое приложение, верно?

Данное приложение выполняет весьма важные функции:

Запуск SystemUI

Как я и говорила выше, SystemUI не похож на обычное приложение, так что его запуск не сопровождается запуском активности, как это происходит у большинства приложений. SystemUI — это глобальный пользовательский интерфейс, который запускается во время процесса загрузки системы и не может быть завершен.

Если мы залезем в SystemServer, который является одним из двух столпов в мире Android (второй — Zygote, но об этом я расскажу как-нибудь в другой раз), то мы можешь найти место, где стартует SystemUI при загрузке системы.

Тут мы видим как запускается сервис SystemUI с помощью непубличного API startServiceAsUser. Если бы вы захотели использовать это, то вам пришлось бы обратиться к рефлексии. Но если вы решите использовать reflection API в Android — подумайте несколько раз, стоит ли это того. Подумайте раз сто:)

Итак, тут создается отдельный процесс для приложения и по факту каждый раздел SystemUI является отдельным сервисом или независимым модулем.

Метод start() вызывается для запуска каждой службы, которые перечислены ниже.

Регулирование громкости

Мы регулярно пользуемся кнопками громкости на своих устройствах, но не задумываемся какие процессы должны произойти в системе для того чтобы мы могли прибавить или убавить звук. Операция кажется довольно простой на словах, но если заглянуть в VolumeUI, который находится в подпапке SystenUI/volume, в разных режимах интерфейс имеет свою вариацию.


Я уже говорила о том, что сервисы SystemUI запускаются методом start(). Если мы посмотрим на класс VolumeUI, то он тоже наследуется от SystemUI.

Тут мы видим что с помощью mEnabled мы определяем, следует ли нам показывать панель с настройкой звука. И судя по VolumeDialogComponent, VolumeUI отображает звуковую панель в виде диалога. Но все действия относительно нажатия на клавиши громкости обрабатываются в PhoneWindow.

Насколько мы видим, KEYCODE_VOLUME_UP (+) не обрабатывается и перейдет в обработку KEYCODE_VOLUME_DOWN (-). И в обоих событиях, как в onKeyDown, так и в onKeyUp вызывается метод dispatchVolumeButtonEventAsSystemService.

Итак, тут у нас вызывается метод adjustVolume, для того чтобы мы могли проверить наш direction, которому будет присвоен параметр события.

В итоге когда мы доберемся до AudioService, где будет вызван sendVolumeUpdate, где помимо вызова метода postVolumeChanged, будет установлен интерфейс HDMI.

RingtonePlayer

RingtonePlayer в Android выполняет роль проигрывателя. Он так же наследуется от SystemUI и в методе start() мы видим:

Здесь у нас устанавливается mCallback, который по сути является экземпляром IRingtonePlayer.

В итоге можно управлять RingtonePlayerService с помощью Binder для воспроизведения звуковых файлов.

PowerUI

PowerUI отвечает за управление питанием и уведомлениями. Аналогично наследуется от SystemUI и имеет метод start().

Как мы видим из приведенного выше кода, происодит подписка на изменения Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, а после — вызов mReceiver.init().

Тут регистрируется широковещательный приемник, с помощью которого происходит отслеживание изменений.

Задачи

Recents — это основная и часто используемая функция в мобильных устройствах на базе Android.

Главные функции:

  • Отображение всех задач
  • Переключение между задачами
  • Удаление задач

Помимо этого Recents так же наследуется от SystemUI. В RecentsActivity происходит создание и обновление последних задач, чтобы мы могли увидеть их на нашем экране.


А в с помощью RecentTaskInfo мы можем получить информацию о конкретной задаче.

Вообще, запущенные задачи можно вынести в отдельную тему. Я изучила ее со всех сторон, так как хотела размывать экран приложения перед переходом приложения в background, чтобы в RecentsTask отображалась нечитаемая версия снапшота. Однако, проблема заключается в том, что снапшот приложения берется раньше, чем вызывается onPause(). Эту проблему можно решить несколькими способами. Либо выставлять флаг, чтобы система просто скрывала содержимое экрана с помощью

О чем я говорила в предыдущей статье, посвященной как раз снапшотам.

Можно вообще сделать так, чтобы конкретная activity приложения не отображалось в задачах, проставив в манифесте

Читайте также:  The dark pursuer android

Либо можно воспользоваться хитростью с помощью

Можно задать основной активности выше приведенный флаг excludeFromRecents = true, для того чтобы ее экран отсутствовал в запущенных задачах, но во время загрузки приложения запустить отдельную задачу, которая будет показывать либо размытый скриншот с основной активности, либо любое другое изображение. Более подробно, как это можно сделать описано в официальной документации на примере Google Drive.

Экран блокировки

Keyguard уже посложнее всех вышеприведенных модулей. Он представляет из себя сервис, который запускается в SystemUI, а управляется при помощи KeyguardViewMediator.

Однако на самом деле KeyguardService самостоятельно не работает с интерфейсом экрана блокировки, он лишь передает информацию в модуль StatusBar, где уже и производятся действия относительно визуального вида экрана и отображения информации.

Панель уведомлений

SystemBars имеет довольно сложное устройство и структуру. Его работа разделяется на два этапа:

  1. Инициализация SystemBars
  2. Отображение уведомлений

Если посмотреть на запуск SystemBars

То мы видим ссылку на ресурс из которого читается имя класса и создается его экземпляр.

Таким образом мы видим что тут вызывается StatusBar, который будет работать с выводом уведомлений и UI.

Я думаю никто и не сомневался в том, что Android устроен очень сложно и заключает в себе много хитростей, которые описаны в огромном количестве строчек кода. SystemUI является одной из самых важных частей этой системы и мне понравилось изучать ее. Из-за того что материала на эту тему очень мало, если вы заметите какие-либо ошибки, прошу исправить меня.

Источник

Documents ui что это андроид

Или войти с помощью одного из сервисов

Описание

Привожу список всех системных приложений в следующем виде:
— название спойлера — это название файла приложения (apk, либо пары apk+odex)
— под спойлером внутреннее название приложения, далее через тире, в кавычках — «отображаемое название»
— с символа «=» идет описание приложения (если есть)
— далее по пунктам, те приложения в которых текущее встречается (возможно от него зависит функционал и т.д)
— с символа «*» произвольный комментарий (можно ли удалять и т.п.)

com.android.ActivityNetwork — «Network Diagnose Tool»

=Запись сетевых логов с помощью tcpdump (а так же некоторых тестов,
таких как ping и т.п) на sd-карту, в папку /mnt/sdcard/mtklog/netlog,
вызывается из инженерного меню, пункт «SystemLog->NetLog» или
«SystemLog->Common UI->[Network Test]»
— EngineerMode
* если не планируете использовать функционал тестирования — можно удалять

com.android.providers.applications — «Поставщик средств поиска»

= Предоставляет список приложений, установленных на телефоне, нужен для поисковых запросов
— GoogleQuickSearchBox
— QuickSearchBox
* не удалять, необходим для нормальной работы

= Служба, предоставляющая доступ к функциям FMRadio приложению GN_MMITest
* если не планируете использовать тест ФМ-радио из GN_MMITest — можно удалять

= Выдает запрос пользователю, если какое-то приложение пытается выполнить резервное копирование/восстановление данных
— framework (services.odex)
* удаление по желанию (я у себя удалил)

— Contacts
— DownloadProvider
— Email
— framework (framework.odex)
— Gallery2
— GMail
— GoogleQuickSearchBox
— LatinIME
— Launcher2
— Mms
— MTKAndroidSuiteDaemon
— Phonesky
— QuickSearchBox
— Stk1
— Stk2
— Talk
— VoiceSearch
* стандартный браузер, если пользуетесь альтернативным — можно удалять

* на работу системы не влияет — удаление по желанию

— CalendarImporter
— CalendarProvider
— Email
— Exchange
— framework (framework.odex)
— GoogleCalendarSyncAdapter
— GoogleLoginService
— Launcher2
— MTKAndroidSuiteDaemon

— Calendar
— MtkBt
* я у себя удалил, календарь при этом работает (но я не использую синхронизацию ни с компом, ни с гугловой учеткой)

com.android.providers.calendar — «Память календаря»

— Calendar
— GoogleCalendarSyncAdapter
* не удалять, если пользуетесь календарем, необходим для его работы

com.mediatek.connectivity — «Common Data Service»

=Информация о сетях (GSM, WiFi), просмотр конфигурации, интерфейсов,
количества переданных данных, а так же тесты связанные с этим,
вызывается из инженерного меню, пункт «CDS Information»
— EngineerMode
— LocationEM
* тестовая утилита, если не планируете пользоваться — можно удалять

— Contacts
— Mms
— Phone
— Settings
— StkSelection
* лучше не удалять, необходим для нормальной работы (в том числе, что-то связанное с выбором SIM)

com.android.certinstaller — «Программа установки сертификата»

— framework (framework.odex)
— KeyChain
— Settings
* нужна для установки сертификатов с SD-карты — удаление по желанию

— Calendar
— ContactsProvider
— Email
— Exchange
— framework (framework.odex)
— GoogleContactsSyncAdapter
— GoogleLoginService
— GoogleQuickSearchBox
— Launcher2
— Maps_hdpi
— Mms
— MTKAndroidSuiteDaemon
— MtkBt
— Phone
— QuickSearchBox
— Talk
— VoiceSearch
* не удалять, необходимо для работы телефона

com.android.providers.contacts — «Хранилище контактов»

* не удалять, необходимо для работы телефона

com.android.defcontainer — «Мастер доступа к пакетам»

— DownloadProvider
— framework (services.odex)
— Settings

— framework (services.odex)
— MediaProvider
— VoiceSearch

com.android.providers.downloads — «Диспетчер загрузки»

— DownloadProviderUi
— framework (services.odex)
*через него работает загрузка приложений с маркета, при нажатии кнопки
«загрузить», так же используется в стандартном браузере при скачивании
файлов, возможно где-то еще — лучше не удалять

— DownloadProvider
* графический инрерфейс к диспетчеру загрузки — лучше не удалять

— CalendarImporter
— Contacts
— Exchange
— framework (services.odex)
— GN_ZoomClipView
— LatinIME
— Launcher2
— MediaUploader
— Mms
— MtkBt

— ActivityNetwork
— framework (services.odex)
— InternalEngineerMode
— MobileLog
— ModemLog
— Phone
— Settings
* инженерное меню, если не планируете использовать — можно удалять

com.android.simmelock — «EM SIM ME Lock»

= Управление блокировками SIM-карт, вызывается из инженерного меню, пункт «SIMMeLock»
— EngineerMode
* при удалении не работает соответствующий пункт «SIMMeLock», остальной функционал работает

Читайте также:  Программирование для телефонов андроид с чего начать

com.android.exchange — «Службы Exchange»

— CalendarImporter
— CalendarProvider
— Contacts
— Email
* нужен для работы с почтой через протокол Exchange, если не планируете использовать — можно удалять

— framework (framework.odex)
— Settings
* один из методов блокировки экрана, если не планируете использовать — можно удалять

— AtciService
— EngineerMode
— framework (framework.odex, services.odex)
— GN_MMITest
— Music
* FM-радио — лучше оставить

com.android.galaxy4 — «Черная дыра»

* вариант «живых обоев», если не планируете использовать этот вариант — можно удалять

— Launcher2
— MediaProvider
*стандартная галерея, если не планируете использовать — можно удалять
(НО при этом не будет работать задание картинки контакта из телефонной
книги, хотя при этом картинку можно задать из стороннего просмотрщика, например из QuickPic)

— EngineerMode
— EngineerModeSim
— LatimIME
— Launcher2
— MediaUploader
— Talk
— VoiceSearch
* если не планируете использовать — можно удалять

com.google.android.backup — «Google Backup Transport»

— Calendar
— framework (services.odex)
— GoogleLoginService
* я у себя удалил, маркет и ютуб работают

com.google.android.syncadapters.calendar — «Синхронизация Календаря Google»

= Синхронизация календаря с гугловой учеткой
* если не планируете использовать — можно удалять

com.google.android.syncadapters.contacts — «Синхронизация Контактов Google»

= Синхронизация контактов с гугловой учеткой
* если не планируете использовать — можно удалять

com.google.android.feedback — «Отзывы о Маркете»

= Отсылка отчетов об ошибках в гугл (возможно еще какой-то функционал)
— GoogleServicesFramework
— Phonesky
* я у себя удалил, маркет и ютуб работают

com.google.android.gsf.login — «Аккаунты Google»

= Поддержка гугловой учетки
— GoogleServicesFramework
— GoogleTTS
— MediaUploader
— SetupWizard
— YouTube
*для работы маркета и SetupWizard необходим, если сделать сброс телефона
то запустившийся при первом включении SetupWizard на очередном шаге

будет падать и телефон останется в таком состоянии ни закрыть ни чего с ним сделать не получится, можно сказать — необходим для работы, не удалять

com.google.android.partnersetup — «Настройка Google Partner»

— Browser
— GoogleQuickSearchBox
* страшная тулза , предположительно для накатывания приложений с ведома Гугла незаметно
для пользователя, я у себя удалил в первую очередь, нужный мне функционал не пострадал

com.google.android.googlequicksearchbox — «Поиск Google»

= Гуглопоиск, а так же «неубираемый» виджет поиска на рабочем столе
— Browser
— Maps_hdpi
— VoiceSearch
* я у себя удалил, пользуюсь поиском из браузера, при этом пропадает строка поиска с десктопа, удаление по желанию

com.google.android.gsf — «Google Services Framework»

— Gmail
— GoogleBackupTransport
— GoogleCalendarSyncAdapter
— GoogleContactsSyncAdapter
— GoogleFeedback
— GoogleLoginService
— GooglePartnerSetup
— GoogleQuickSearchBox
— GoogleTTS
— Maps_hdpi
— MediaUploader
— NetworkLocation
— Phonesky
— Settings
— SetupWizard
— Talk
— VoiceSearch
— YouTube
* насколько я понял транспортная апликуха, из гугловых сервисов без нее работает только ютуб, если нужен маркет — оставляем

com.google.android.tts — «Синтезатор речи Google»

— Maps_hdpi
* если не планируете использовать — можно удалять

com.android.wallpaper.holospiral — «Голографические спирали»

* вариант «живых обоев», если не планируете использовать этот вариант — можно удалять

= просмотрщик HTML
*если не планируете использовать — можно удалять, но бывает удобно
сохраненную html-ку (а так же прям из apk-шки) посмотреть с помощью этой
тулзы, а не через браузер.

= Тестовая тулза
* если не планируете использовать — можно удалять

com.android.keychain — «Основная цепочка»

com.android.inputmethod.latin — «Клавиатура Android»

— framework (framework.odex)
— Maps_hdpi
— SettingsProvider
* даже при установленной альтернативной эту лучше не удалять, чтоб избежать проблем при сбросе телефона к заводским настройкам

— Browser
— EngineerMode
— framework (services.odex)
— GoogleQuickSearchBox
— Maps_hdpi
— MtkWorldClockWidget
— Phonesky
— QuickSearchBox
— Settings
— VoiceSearch
*стандартный лончер (десктоп и список приложений/виджетов), необходим
для нормальной работы, лучше оставить даже если используете
альтернативный (чтоб избежать проблем после сбороса данных на заводские)

com.android.wallpaper — «Живые обои Android»

— framework (framework.odex, services.odex)
*стандартный набор «живых обоев»: вода, галактика, нейроны, полярные
часы, трава. если не планируете использовать — можно удалять (хотя я
оставил)

com.android.wallpaper.livepicker — «Каталог живых обоев»

* выбор живых обоев, лучше оставить — если планируете использовать хот какие-то «живые обои», если нет — можно удалять

com.mediatek.lbs.em — «Location Engineer Mode»

= Состояние GPS (AGPS, EPO), связанные с этим тесты и настройки, вызывается из инженерного меню, пункт «LocationBasedService»
— EngineerMode
* если не планируете использовать — можно удалять

com.android.magicsmoke — «Волшебный дым»

* вариант «живых обоев», если не планируете использовать этот вариант — можно удалять

— Gallery2
— GooglePartnerSetup
— GoogleQuickSearchBox
— VoiceSearch
*если не планируете использовать или пользуетесь альтернативными (Яндекс, Навител, iGo) — можно удалять (при условии что не пользуете Google+ и т.п. гуглосервисы)

com.android.providers.media — «Хранилище мультимедиа»

= Как минимум доступ к данным на флешке (возможно что-то еще)
— DownloadProvider
— framework (services.odex)
*если удалить ни одно приложение не получит доступ к данным на флеш-карте через стандартный API, необходим для нормальной работы, не удалять

com.google.android.apps.uploader — «Мои загрузки»

— YouTube
* используется Ютубом для загрузки своего видео на сервера, если не планируете использовать данный функционал — можно удалять

— Contacts
— framework (framework.odex, services.odex)
— Gallery2
— GoogleQuickSearchBox
— LatinIME
— Launcher2
— MTKAndroidSuiteDaemon
— Omacp
— Phone
— Settings
— SystemUI
— VoiceSearch

=Пишет логи работы радиомодуля (GSM, bluetooth и т.д) на sd-карту, в папку mnt/sdcard/mtklog/mobilelog, вызывается из инженерного меню,
пункт «SystemLog->MobileLog» или «SystemLog->Common UI->[MobileLog]»
— EngineerMode
— framework (framework.odex, services.odex)
* тестовая утилита, если не планируете использовать — можно удалять

=Пишет логи на sd-карту, в папку /mnt/sdcard/mtklog/mdlog, вызывается из
инженерного меню, пункт «SystemLog->ModemLog» или
«SystemLog->Common UI->[Modem Log]»
— EngineerMode
— framework (framework.odex)
* тестовая утилита, если не планируете использовать — можно удалять

Читайте также:  Неправильный уровень заряда android

com.mediatek.apst.target — «MTK Android Suite Daemon»

— framework (services.odex)
* что-то связанное с синхронизацией с компом, видимо утилитой от MTK, если не планируете использовать — можно удалять

— framework (framework.odex, services.odex)
— Music
— Settings
* необходим для работы bluetooth, не удалять

com.mediatek.thermalmanager — «MTK Thermal Manager»

= служба контроля за температурой узлов телефона
— InternalEngineerMode
* думаю, лучше не удалять

com.mediatek.appwidget.worldclock — «Мировое время»

* виджет, если не планируете использовать — можно удалять

= Стандартный аудио-плеер
— AtciService
— FMRadio
— framework (framework.odex, services.odex)
— Gallery2
— GN_Camera
— GN_SoundRecorder
— GoogleQuickSearchBox
— Launcher2
— MediaProvider
— Mms
— Settings
— VisualizationWallpapers

= Поддержка звуковых эффектов
— Settings
* лучше не удалять

com.google.android.location — «Местоположение сети»

— framework (services.odex)
— LocationEM
— Maps_hdpi
— Settings
*что-то связанное с определением примерного местоположения по сотовым вышкам (LBS), я у себя удалил — яндекс определяет это самостоятельно, удаление по желанию

* вариант «живых обоев», если не планируете использовать этот вариант — можно удалять

— Browser
— Email
— Exchange
— MediaProvider
— Mms
— Settings
*не удалять, что-то связанное с применением настроек присланных в SMS, и не только (так же при удалении, кажется, отваливаются настройки APN — мобильного интернета)

com.android.phasebeam — «Фазовый пучок»

* вариант «живых обоев», если не планируете использовать этот вариант — можно удалять

— CDS_INFO- CellConnService- Contacts- EngineerMode- framework (android.policy.odex, framework.odex, services.odex)- GN_MMITest- GoogleLoginService- Mms- Settings- SetupWizard- Stk1- Stk2- StkSelection- TelephonyProvider* собственно звонилка, не удалять

com.android.vending — «Google Play Маркет»

— GoogleLoginService
— GooglePartnerSetup
— GoogleServicesFramework
— Launcher2
— Maps_hdpi
— YouTube
* по желанию, можно удалить если не пользуетесь маркетом (хотя вещь удобная)

com.svox.pico — «Pico TTS»

= Text to Speech, проговаривание текста
— framework (framework.odex)
— Maps_hdpi
* если не планируете использовать — можно удалять

com.android.protips — «Советы по управлению главным экраном»

— Launcher2
* если не планируете использовать — можно удалять

com.android.provision
= Сохраняет настройку о том, что устройство было подготовлено (отработал SetupWizard)
* без нее у меня всё нормально работает, в том числе после сброса к заводским настройкам — можно удалять

— Browser
— VoiceSearch
* если не планируете использовать — можно удалять

com.android.settings — «Параметры»
— CertInstaller
— DeskClock
— EngineerMode
— framework (android.policy.odex, framework.odex, secondary_framework.odex, services.odex)
— GoogleLoginService
— GoogleTTS
— Launcher2
— LocationEM
— MediaProvider
— Mms
— PackageInstaller
— Phone
— SetupWizard
* не удалять, необходима для нормальной работы телефона

com.android.providers.settings — «Хранилище настроек»

— framework (framework.odex, services.odex)
— GoogleBackupTransport
* не удалять, необходима для норамально работы телефона

com.google.android.setupwizard — «Мастер настройки»

— framework (android.policy.odex, framework.odex)
— LatinIME
— Provision
*лучше не удалять, без него всё работает до первого сброса телефона к
заводским настройкам, после сброса настройки можно сделать и вручную, НО
из замеченного: самое плохое, это при входящих звонках идет
автоматический отбой, так же по долгому нажатию кнопки вкл/выкл,
появляется только меню «выключить» без профилей и «режима полёта»

— framework (services.odex)
* я у себя удалил, бекапом пользуюсь через recovery

com.android.stk — «Меню SIM»

— Launcher2
— Phone
— StkSelection
* не удалять, необходима для работы телефона

com.android.stk2 — «Инструменты на SIM»

— Launcher2
— Phone
— StkSelection
* не удалять, необходима для работы телефона

com.mediatek.StkSelection — «Меню SIM»

* не удалять, необходима для работы телефона

com.android.systemui — «Графический интерфейс системы»

= Верхняя панель со строкой статуса, иконками сети, батареи и часами
— framework (android.policy.odex, framework.odex, services.odex)
— Settings
* не удалять, необходима для работы телефона

com.google.android.talk — «Google Talk»

— framework (services.odex)
— GoogleServicesFramework
— LatinIME
* если не планируете использовать — можно удалять

com.android.providers.telephony — «Память номеров/SMS/MMS»

— Mms
* не удалять, необходима для работы телефона

com.android.providers.userdictionary — «User Dictionary»

com.android.musicvis — «Фоновые рисунки: аудиовизуализация»

* вариант «живых обоев», если не планируете использовать этот вариант — можно удалять

com.google.android.voicesearch — «Голосовой поиск»

= Помимо голосового поиска обеспечивает голосовой ввод данных
— Gmail
— GooglePartnerSetup
— GoogleQuickSearchBox
— LatinIME
* если не планируете использовать — можно удалять

= Передача данных через Wifi Direct, работает не со всеми телефонами и через раз, но работает
* если не планируете использовать — можно удалять (я оставил на всякий случай)

= Тестовая утилита, показывает состояние GPS, вызывается из инженерного меню, пункт «YGPS»
— EngineerMode
— LocationEM
* если не планируете использовать — можно удалять

— framework (framework.odex)
— GooglePartnerSetup
— Maps_hdpi
— Phonesky
— VoiceSearch
*если не планируете использовать — можно удалять, так же можно удалить
из системных, но установить как пользовательское (чтоб обновления заменяли приложение, а не накатывались второй копией)

Таким образом перед удалением приложения лучше заглянуть под спойлер и посмотреть, где оно еще встречается. Например:

— хотим удалить CalendarProvider, смотрим кто его использует: Calendar и GoogleCalendarSyncAdapter, т.е. после удаления CalendarProvider, скорее всего перестанут нормально работать указанные два приложения. Хотя в некоторых случаях зависимость не такая критичная. Ну да используется, но без него работать будет.

Например, в случае с YouTube, удаление которого не влечет за собой прекращение работоспособности GooglePartnerSetup, Maps_hdpi, Phonesky и VoiceSearch.

Т.е. в каждом конкретном случае нужно смотреть и пробовать .

Все действия по удалению и изменению системных данных Вы делаете на свой страх и риск!

Источник

Оцените статью