Adb shell pm uninstall user 0 com android phone

Adb shell pm uninstall user 0 com android phone

Platform-tools: r31.0.3
ADB: 1.0.41 (31.0.3-7562133)
Fastboot: 31.0.3-7562133
Make_f2fs: 1.14.0 (2020-08-24)
Mke2fs: 1.46.2 (28-Feb-2021)
Последнее обновление утилит в шапке: 01.08.2021

ADB (Android Debug Bridge — Отладочный мост Android) — инструмент, который устанавливается вместе с Android-SDK и позволяет управлять устройством на базе ОС Android.
Работает на всех Android-устройствах, где данный функционал не был намеренно заблокирован производителем.
Здесь и далее: PC — ПК, компьютер к которому подключено устройство.
ADB — консольное приложение для PC, с помощью которого производится отладка Android устройств, в том числе и эмуляторов.
Работает по принципу клиент-сервер. При первом запуске ADB с любой командой создается сервер в виде системной службы (демона), которая будет прослушивать все команды, посылаемые на порт 5037.
Официальная страница
ADB позволяет:

  • Посмотреть какие устройства подключены и могут работать с ADB.
  • Просматривать логи.
  • Копировать файлы с/на аппарат.
  • Устанавливать/Удалять приложения.
  • Удалять (очищать) раздел data.
  • Прошивать (перезаписывать) раздел data.
  • Осуществлять различные скрипты управления.
  • Управлять некоторыми сетевыми параметрами.

Поставляется ADB в составе инструментария разработчика Андроид (Android SDK), который, в свою очередь входит в состав Android Studio.

Если что-то неправильно, то в списке подключенных устройств (List of devices attached) будет пусто.

Скрытые команды ADB
adb -d Команда посылается только на устройство подключенное через USB.
Внимание: Выдаст ошибку, если подключено больше одного устройства.

adb -e Команда посылается на устройство в эмуляторе.
Внимание: Выдаст ошибку, если подключено больше одного эмулятора.

adb -s Команда посылается на устройство с указанным серийным номером:

adb -p Команда посылается на устройство с указанным именем:
Если ключ -p не указан, используется значение переменной ANDROID_PRODUCT_OUT.

adb devices Список всех подсоединенных устройств.

adb connect [: ] Подсоединиться к андроид хосту по протококу TCP/IP через порт 5555 (по умолчанию, если не задан).

adb disconnect [ [: ]] Отсоединиться от андроид подключенного через TCP/IP порт 5555 (по умолчанию, если не задан).
Если не задан ни один параметр, отключиться от всех активных соединений.

adb push Копировать файл/папку PC->девайс.

adb pull [ ] Копировать файл/папку девайс->PC.

adb sync [ ] Копировать PC->девайс только новые файлы.
Ключи:
-l Не копировать, только создать список.

adb shell Запуск упрощенного unix shell.
Примеры использования

adb emu Послать команду в консоль эмулятора

adb install [-l] [-r] [-s] Послать приложение на устройство и установить его.
Пример: adb install c:/adb/app/autostarts.apk Установить файл autostarts.apk лежащий в папке /adb/app/ на диске с:
Ключи:
-l Блокировка приложения
-r Переустановить приложение, с сохранением данных
-s Установить приложение на карту памяти
Установка split apk

adb uninstall [-k] Удаление приложения с устройства.
Ключи:
-k Не удалять сохраненные данные приложения и пользователя.

adb wait-for-device Ждать подключения устройства.

adb start-server Запустить службу/демон.

adb kill-server Остановить службу/демон.

adb get-state Получить статус:
offline Выключен.
bootloader В режиме начальной загрузки.
device В режиме работы.

adb get-serialno Получить серийный номер.

adb status-window Непрерывный опрос состояния.

adb remount Перемонтировать для записи. Требуется для работы скриптов, которые изменяют данные на.

adb reboot bootloader Перезагрузка в режим bootloader.

adb reboot recovery Перезагрузка в режим recovery.

adb root Перезапуск демона с правами root

adb usb Перезапуск демона, прослушивающего USB.

adb tcpip Перезапуск демона, прослушивающего порт TCP.

adb ppp [параметры] Запуск службы через USB.
Note: you should not automatically start a PPP connection. refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
Параметры:
defaultroute debug dump local notty usepeerdns

Читайте также:  Gps essential для андроид

FastBoot — консольное приложение для PC. Используется для действий над разделами

fastboot devices Список присоединенных устройств в режиме fastboot.
fastboot flash Прошивает файл .img в раздел устройства.

fastboot erase Стереть раздел.
Разделы: boot, recovery, system, userdata, radio
Пример: fastboot erase userdata Стирание пользовательских данных.

fastboot update Прошивка из файла имя_файла.zip

fastboot flashall Прошивка boot + recovery + system.

fastboot getvar Показать переменные bootloader.
Пример: fastboot getvar version-bootloader Получить версию bootloader.

fastboot boot [ ] Скачать и загрузить kernel.

fastboot flash:raw boot [ ] Создать bootimage и прошить его.

fastboot devices Показать список подключенных устройств.

fastboot continue Продолжить с автозагрузкой.

fastboot reboot Перезагрузить аппарат.

f astboot reboot-bootloader Перезагрузить девайсв режим bootloader.
Перед командами fastboot можно использовать ключи:
-w стереть данные пользователя и кэш
-s Указать серийный номер устройства.
-p

Указать название устройства.
-c Переопределить kernel commandline.
-i Указать вручную USB vendor id.
-b Указать в ручную базовый адрес kernel.
-n

Указать размер страниц nand. по умолчанию 2048.

Команду logcat можно использовать с машины разработки
$ adb logcat
или из удаленного shell
# logcat Каждое сообщение лога в Android имеет тэг и приоритет
Тэг – это строка указывающая компонент системы, от которого принято сообщение (например: View для системы view)
Приоритет – имеет одно из нижеследующих значений (в порядке от меньшего к большему):
V — Verbose (Низший приоритет).
D — Debug
I — Info
W — Warning
E — Error
F — Fatal
S — Silent (Наивысший приоритет, при котором ничего не выводится).

Получить список тэгов, используемых в системе, вместе с их приоритетами можно запустив logcat. В первых двух столбцах каждого из выведенных сообщений будут указаны / .
Пример выводимого logcat сообщения:
I/ActivityManager( 585): Starting activity: Intent

Для уменьшения вывода лога до приемлемого уровня нужно использовать выражения фильтра. Выражения фильтра позволяют указать системе нужные комбинации и , остальные сообщения система не выводит.
Выражения фильтра имеют следующий формат : . где указывает нужный тэг, указывает минимальный уровень приоритета для выбранного тэга. Сообщения с выбранным тэгом и приоритетом на уровне или выше указанного записываются в лог. Можно использовать любое количество пар : в одном выражении фильтра. Для разделения пар : используется пробел.

Пример ниже выводит в лог все сообщения с тэгом «ActivityManager» с приоритетом «Info» или выше, и сообщения с тэгом «MyApp» и приоритетом «Debug» или выше:
adb logcat ActivityManager:I MyApp:D *:S
Последний элемент в выражении фильтра *:S устанавливает приоритет «silent» для всех остальных тэгов, тем самым обеспечивая вывод сообщений только для «View» и «MyApp». Использование *:S – это отличный способ для вывода в лог только явно указанных фильтров (т.е. в выражении фильтра указывается «белый список» сообщений, а *:S отправляет все остальное в «черный список»).

При помощи следующего выражения фильтра отображаются все сообщения с приоритетом «warning» или выше для всех тэгов:
adb logcat *:W

Если logcat запускается на машине разработчика (не через удаленный adb shell), можно также установить значение выражения фильтра по умолчанию задав переменную окружения ANDROID_LOG_TAGS:
export ANDROID_LOG_TAGS=»ActivityManager:I MyApp:D *:S»

Следует обратить внимание что задав переменную окружения ANDROID_LOG_TAGS она не будет работать в эмуляторе/устройстве, если вы будете использовать logcat в удаленном shell или используя adb shell logcat.
Вышеописанная команда export работает в ОС *nix и не работает в Windows.

Контроль формата вывода лога

Сообщения лога в дополнение к тэгу и приоритету содержат несколько полей метаданных. Можно изменять формат вывода сообщений показывая только конкретные поля метаданных. Для этого используется параметр -v и указывается один из ниже перечисленных форматов вывода.

Читайте также:  Ufi android toolbox 4pda

brief Показывать приоритет/тэг и PID процесса (формат по умолчанию).
process Показывать только PID.
tag Показывать только приоритет/тэг.
thread Показывать только процесс:поток и приоритет/тэг.
raw Показать необработанное сообщение, без полей метаданных.
time Показывать дату, время вызова, приоритет/тэг и PID процесса.
long Показывать все поля метаданных и отдельно сообщения с пустыми строками.

При запуске logcat можно указать формат вывода используя параметр -v:
adb logcat [-v

Источник

Как удалить «неудаляемые» приложения со смартфона

Чтобы увеличить привлекательность смартфонов, производители ставят на них как можно больше разных программ. Это понятно. Просто берём и удаляем ненужное… Стоп.

Оказывается, некоторые программы невозможно удалить. Например, на отдельных моделях Samsung невозможно удалить Facebook (есть только опция ‘disable’). Говорят, на Samsung S9 вдобавок предустановлены «неудаляемые» приложения Microsoft.

Эти смартфоны приведены для примера. Такая же проблема и на других моделях. На многих есть неудаляемые программы от самого производителя.

Всё это надо зачистить.

Очень редко встречаются примеры моделей, на которых нет лишних программ. Например, когда вышел первый iPhone, то компания Apple жёстко зафиксировала пакет установленных приложений, поэтому оператор AT&T не смог добавить туда свой привычный мусор.

Есть ещё пример смартфонов от Google начиная с Google Phone G1 в 2008 году, затем линейки Nexus и вплоть до текущих Pixel (Pixel 1, 2 и 3). На них тоже нет почти никакого мусора, если не считать слишком большого количества приложений Google, которые тоже считаются якобы системными и не удаляются полностью. Ну и небольшого количества сторонних неудаляемых приложений. Например, на Nexus5 намертво вшит HP Cloud Print. Но об этом позже.

В принципе, по такой логике и многочисленные приложения от Apple на iPhone можно считать ненужным мусором. Если быть точным, на iPhone предустановлены 42 приложения, не все из которых легко удалить: App Store, Calculator, Calendar, Camera, Clock, Compass, Contacts, FaceTime, Files, Find My Friends, Find My iPhone, Game Center, Health, Home, iBooks, iCloud Drive, iMovie, iTunes Store, iTunes U, Keynote, Mail, Maps, Messages, Music, News, Notes, Numbers, Pages, Passbook, Phone, Photos, Podcasts, Reminders, Safari, Settings, Stocks, Tips, TV, Videos, Voice Memos, Wallet, Watch, Weather.

На Android предустановлено 29 приложений, и тоже некоторые из них не удаляются стандартными средствами: Android Pay, Calculator, Calendar, Camera, Chrome, Clock, Contacts, Docs, Downloads, Drive, Duo, Gmail, Google, Google+, Keep, Maps, Messages, News & Weather, Phone, Photos, Play Books, Play Games, Play Movies & TV, Play Music, Play Store, Settings, Sheets, Slides, YouTube.

Примечание: описанный ниже способ позволяет удалить любое из этих приложений.

Впрочем, мы говорим в первую очередь не о мусоре в дефолтной операционной системе, а о других ситуациях, когда сторонний производитель вроде Samsung заполняет свой смартфон огромной кучей неудаляемых программ, начиная с собственных фирменных приложений, и заканчивая программами Facebook и Microsoft. Так же поступают и другие производители.

Зачем они это делают? Ну очевидно, что из-за денег. По партнёрским соглашениям установить программы партнёра стоит одних денег. А установить те же самые программы в виде неудаляемых — уже совершенно других денег. Это просто предположение.

Хотя это просто удивительно. Мы платим за телефон Samsung сотни долларов! И они ещё хотят урвать пару баксов на партнёрских соглашениях!

Возможность удалить приложение отсутствует

Facebook всегда заявлял, что «отключение» (disable) приложения — то же самое, что и удаление. Хотя оно (приложение) потом и занимает немного места в памяти, но не должно проявлять никакой активности или собирать данные. Но в последнее время люди настолько потеряли доверие к Facebook, что не верят даже в это. Мол, а почему оно тогда полностью не удаляется из системы?

Читайте также:  Build android app unity

Facebook и Microsoft годами заключает соглашения c производителями телефонов и операторами связи по всему миру. Финансовые условия не разглашаются. Facebook также отказывается говорить, с какими конкретно партнёрами у него сделки на неудаляемые приложения.

Впрочем, «неудаляемые» они только теоретически. На практике достаточно открыть ADB (Android Debug Bridge) и запустить пару команд.

На телефоне должна быть разрешена отладка по USB, а на компьютере установлен USB-драйвер устройства.

Скачать ADB для разных операционных систем можно по следующим ссылкам:

  • Windows
  • macOS
  • Linux

Извлекаем содержимое zip-архива в любое удобное место, и уже там запускаем окно консоли.

выводит список установленных пакетов.

pm list packages | grep ‘oneplus’
package:com.oneplus.calculator
package:net.oneplus.weather
package:com.oneplus.skin
package:com.oneplus.soundrecorder
package:com.oneplus.opsocialnetworkhub
package:cn.oneplus.photos
package:com.oneplus.screenshot
package:com.oneplus.deskclock
package:com.oneplus.setupwizard
package:com.oneplus.sdcardservice
package:com.oneplus.security
package:cn.oneplus.nvbackup
package:com.oneplus.wifiapsettings

Как вариант, можно установить на телефоне бесплатную программу Инспектор приложений. Она покажет подробную информацию обо всех установленных приложениях, их разрешения. Вдобавок она может извлекать (скачивать) APK-файлы для любого установленного приложения.

Для удаления конкретного пакета запускаем такую команду:

Это работает без рутования.

Для упомянутых в начале статьи «неудаляемых» программ это выглядит так:

Facebook App Installer

Кстати, приложения от Facebook действительно лучше удалить, потому что они собирают и отправляют в компанию огромный объём персональных данных обо всех аспектах вашей деятельности. Чтобы оценить объём собираемых данных, взгляните на эту диаграмму. Она сравнивает, какие данные о вас собирают разные мессенджеры: Signal, iMessage, WhatsApp и Facebook Messenger.


Источник: 9to5Mac

Facebook Messenger высасывает буквально всё, что может. А вот Signal относится к пользователям гораздо более уважительно. Оно и понятно: это криптомессенджер, ориентированный на приватность.

Понятно, почему в Android нельзя удалить системные приложения штатными средствами. Но список «системных» приложений тоже неоднозначный. Например, перечисленные пакеты трудно назвать системными. Но штатными средствами удалить их тоже нельзя, только отключить (disable):

  • Google Play Музыка
  • Google Play Фильмы
  • Google Play Книги
  • Chrome
  • YouTube
  • и др.

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

Google Play Музыка

Google Play Фильмы

Более того, метод подходит вообще для любого системного компонента.

… и мы навсегда избавляемся от встроенного лаунчера.

Примечание с форума xda-developers. Что касается системных приложений, то они снова появятся после сброса настроек. Это означает, что они всё-таки по-настоящему не удаляются с устройства, а просто удаляются для текущего пользователя (user 0). Вот почему без ‘user 0’ команда adb не работает, а эта часть команда как раз и указывает произвести удаление только для текущего пользователя, но кэш/данные системного приложения всё равно останутся в системе. И это хорошо, потому что даже после удаления системного приложения телефон всё равно сможет получать официальные обновления OTA.

Кстати, с 1 апреля 2021 года в России начнут принудительно устанавливать российский софт на все новые смартфоны. Список из 16 приложений уже утверждён, вот некоторые из них:

  • ICQ (для обмена сообщениями);
  • Новости Mail.ru;
  • OK Live;
  • MirPay (платёжная система, только на Android);
  • Applist.ru (программа-агрегатор для доступа к социально значимым интернет ресурсам).

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

На правах рекламы

Нужен сервер с Android? У нас возможно даже это! VDSina предлагает недорогие серверы с посуточной оплатой, установка любых операционных систем с собственного ISO.

Источник

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