- Как удалить «неудаляемые» приложения со смартфона
- На правах рекламы
- How to uninstall an android app from command line on the device
- 9 Answers 9
- Delete my application programmatically (Android)
- 3 Answers 3
- Удаление системных приложений на Android без root прав при помощи ADB
- I. Установка драйвера для утилиты ADB
- II. Подготовка смартфона для работы с ADB
- III. Удаление системных приложений на Android с помощью ADB
Как удалить «неудаляемые» приложения со смартфона
Чтобы увеличить привлекательность смартфонов, производители ставят на них как можно больше разных программ. Это понятно. Просто берём и удаляем ненужное… Стоп.
Оказывается, некоторые программы невозможно удалить. Например, на отдельных моделях 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, что не верят даже в это. Мол, а почему оно тогда полностью не удаляется из системы?
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.
Источник
How to uninstall an android app from command line on the device
I can uninstall an app on the device from my computer using adb uninstall
, but I’d like to do the same with a script on the actual device.
I’ve also tried running an android.intent.action.DELETE intent using am but it prompts the user for confirmation.
Given that the device is rooted, is it possible to run a command on the device to uninstall an app without requiring user action/confirmation ?
9 Answers 9
Trying using the pm command:
The -k flag keeps the data and cache directories after the package is removed.
I haven’t tested this myself, but I don’t think this should show a warning message.
does the trick if the simply calling pm fails.
thing as it would leave a lot of garbage to system and that crap will still use storage space (for example, cached apk), and is hard to find without knowledge of system (stuff scattered around filesystem). If you know what you are doing, then why not but plain rm apkfile won’t do any good.
To forcefully uninstall the system user apps:
adb shell pm uninstall *your.package.name*
Did the trick for me.
And if you want to re-install back package removed for a user (i.e. pm uninstall —user 0 ), without root:
This will locate .apk of the uninstalled package: pm dump
and search for a line starting with path: to obtain path to the .apk (note that pm path
won’t work for an uninstalled app) and install it using pm install —user 0 (note that pm install without —user argument wont’ work).
This works for any system app, this is a good alternative to pm disable-user
Источник
Delete my application programmatically (Android)
I want to uninstall my application on button click. For this I am using following code.
It gives me result, but I want to delete directly without click on «Ok» button of dialog with message «This application will be Uninstalled».
I just want uninstalling application directly.
3 Answers 3
Uninstalling without user confirmation is not allowed to 3rd party applications.
As xDragonZ points out, a root process can crudely do this by literally removing the directory and leaving the package manager to deal with the loss, but that’s not a very widely deployable solution, since AFAIK no devices ship with that capability for apps to run their own root helper process — that’s a risky aftermarket modification.
Yes it is possible to uninstall a package in Android. Moreover you can also skip asking user to press OK button on uninstall screen. You can do it by using Accessibility service in Android.
You should first look into the Android native PackageInstaller. I would recommendating you to update all the code you use.
Next step is to inspect PackageInstaller which is an normal class. You will find that uninstall function there. The bad news is that this needs Manifest.permission.DELETE_PACKAGES permission and its only granted to system apps. This means that this is not available directly to other developers. But we can access it using device owner permission.
- Android 6.0 or newer
- Device owner permission to uninstall the package
Generally the DELETE_PACKAGES permission says:
Allows an application to delete packages.
Not for use by third-party applications.
Once your app gets the device owner permission, you can uninstall an package like this:
Источник
Удаление системных приложений на Android без root прав при помощи ADB
В данном руководстве подробно описан и продемонстрирован способ удаления системных приложений на Android при помощи ADB (Android Debug Bridge), без использования прав суперпользователя (root).
Android Debug Bridge (Отладочный мост Android, сокр. ADB) — это многофункциональная утилита для работы с Android-устройствами через командную строку. ADB – является частью Android SDK.
При помощи ADB можно проводить отладку Android-устройств, как физических, так и эмуляторов. В основе работы программы лежит принцип клиент-сервер. Во время первого запуска ADB с использованием любой команды создает так называемый сервер в виде системной службы (daemon). Данная служба будет «слушать» все команды, которые посылаются на порт номер 5037. При помощи ADB можно выполнять такие действия, как: просмотр подключенных устройств, и могут ли они работать с ADB; просмотр системных логов; копирование файлов на Android-устройство и с него; установка и удаление приложений; удаление, очистка или перезапись раздела data на Android-устройстве; выполнение скриптов для управления мобильным Android-устройством; управление некоторыми параметрами сети Android-устройства.
Все действия производятся на ОС Windows 10 x64, однако данное руководство полностью подходит для работы с другими ОС Windows.
Для удаления системных приложений на Android с помощью ADB понадобятся:
1. Компьютер с установленной операционной системой Windows 7/8/8.1/10;
2. USB кабель (желательно оригинальный) для соединения смартфона и ПК;
I. Установка драйвера для утилиты ADB
1. Распакуйте (прим. с помощью WinRAR или WinZIP) скачанные архивы Android и UniversalAdbDriverSetup (Рис.1).
2. Запустите распакованный установщик Universal Adb Driver Setup, затем нажмите Next (Рис.2).
3. Выберите место установки Unuversal Adb Driver (прим. по умолчанию это: C:\Program Files (x86)\ClockworkMod\Universal Adb Driver\), затем нажмите Next (Рис.3).
4. Для начала установки нажмите Next (Рис.4).
5. После окончания установки нажмите Close (Рис.5).
II. Подготовка смартфона для работы с ADB
1. Для получения «Режима разработчика» перейдите на смартфоне в раздел Об устройстве и тапните (нажмите) несколько раз на номер сборки Вашего устройства (прим. в некоторых устройствах необходимо выбирать «Версия прошивки») пока не появится надпись «Теперь Вы разработчик или Вы уже разработчик (Рис.6).
2. Перейдите в появившийся раздел Раздел для разработчиков (прим. в некоторых устройствах данный раздел называется Параметры разработчиков) и активируйте его, затем выберите пункт Отладка USB / Отладка по USB и активируйте его (Рис.7).
3. Подтвердите разрешение на отладку нажав OK / Разрешить (Рис.8).
4. Подключите смартфон к компьютеру с помощью USB кабеля, в появившемся окне выберите пункт Зарядка / Только зарядка через USB (Рис.9).
5. На запрос о разрешении отладки выберите (поставьте галочку) напротив Всегда разрешать отладку через этот компьютер и нажмите OK (Рис.10).
III. Удаление системных приложений на Android с помощью ADB
1. Скопируйте распакованную папку Android в корень локального диска (C:) (Рис.11).
2. Кликните на значке поиска, затем введите в поле для запроса: cmd. Кликните правой кнопкой мыши на Командная строка, и выберите пункт Запуск от имени администратора (Рис.12).
3. В появившемся окне командной строки введите cd/ (и нажмите Enter), а затем cd android (и нажмите Enter) (Рис.13).
4. Введите adb devices (и нажмите Enter), в окне командной строки отобразится ваше устройство (Рис.14).
5. Введите adb shell (и нажмите Enter), строка примет вид: shell@minilte:/ $ (прим. далее не закрывайте окно командной строки и не отсоединяйте смартфон от компьютера) (Рис.15).
6. Запустите на смартфоне приложение App Inspector и выберите приложение, которое вам необходимо удалить (прим. в данном примере это приложение Flipboard) (Рис.16.)
7. В разделе Package name обратите внимание и запомните/запишите название (прим. в данном примере это flipboard.app) (Рис.17).
8. Введите в командной строке: pm uninstall -k —user 0 flipboard.app (прим. вместо flipboard.app введите package name того приложения, которое вы выбрали для удаления), после успешного удаления приложения появится надпись Success (Рис.18).
9. После удаления первого приложения, чтобы не набирать длинную команду заново, можно нажать стрелку вверх, вызвав тем самым последнюю введенную команду и поправить в ней окончание для следующей удаляемой программы (Рис.19).
10. После окончания удаления программ — закройте окно командной строки, отсоедините USB кабель от компьютера и перезагрузите смартфон.
.
Надеемся, что данное руководство помогло Вам!
Источник