команда adb shell, чтобы открыть диалоговое окно удаления пакета Android
Я adb
запуск и устройство подключено к моей системе в режиме отладки,
Я хочу удалить приложение с помощью намеренного запуска с помощью adb shell am start <INTENT>
Я не хочу удалять с помощью adb uninstall com.company.apppackage
и я не хочу делать это даже с помощью adb shell pm uninstall com.company.apppackage
как я могу отправить намерениях с android.intent.action.DELETE
действие для конкретного пакета позволяет пользователю увидеть приглашение и удалить программу?
6 ответов:
вы можете сделать это из adb с помощью этой команды:
adb shell am start -a android.intent.action.DELETE -d package:<your app package>
используйте эту команду в cmd:
adb shell pm uninstall-k com.имя_пакета
например:
adb shell pm uninstall -k com.fedmich.pagexray
The
-k
флаг говорит менеджеру пакетов, чтобы сохранить каталоги кэша и данных вокруг, даже если приложение удаляется. Если вы хотите чистое удаление, не указать-k
.
используя ADB, вы можете использовать любую из следующих трех команд:
adb shell am start -a android.intent.action.UNINSTALL_PACKAGE -d "package:PACKAGE" adb shell am start -n com.android.packageinstaller/.UninstallerActivity -d "package:PACKAGE" adb shell am start -a android.intent.action.DELETE -d "package:PACKAGE"
заменить пакет с именем пакета установленного приложения пользователя. Приложение не должно быть администратором устройства для успешной работы команды. Все эти команды потребуют подтверждения пользователя для удаления приложения.
подробности указанной команды можно узнать, проверив amС помощью
adb shell am
.Я получил информацию об этих командах с помощью эликсир 2 (используйте любое аналогичное приложение). Я использовал его, чтобы показать действия приложения установщика пакетов (графический интерфейс, который вы видите во время установки и удаления приложений), а также связанные с ними намерения. Там вы идете.
альтернативный способ, который я использовал, был: я попытался удалить приложение с помощью GUI, пока мне не показали окончательное подтверждение. Я не подтверждаю, но выполняю команду
adb shell dumpsys activity recents # for Android 4.4 and above adb shell dumpsys activity activities # for Android 4.2.1
среди прочего, он показал мне полезные детали намерения, переданного в фон. Пример:
intent={act=android.intent.action.DELETE dat=package:com.bartat.android.elixir#com.bartat.android.elixir.MainActivity flg=0x10800000 cmp=com.android.packageinstaller/.UninstallerActivity}
здесь вы можете увидеть действие, данные, флаг и компонент - достаточно для цели.
в то время как выше ответы работают, но в случае, если у вас есть несколько устройств, подключенных к компьютеру, то следующая команда может быть использована для удаления приложения из одного из них:
adb -s <device-serial> shell pm uninstall <app-package-name>
Если вы хотите узнать серийный номер устройства, используйте следующую команду:
adb devices -l
появится список подключенных устройств. В левой колонке показаны серийные номера устройств.
в моем случае, я делаю
adb shell pm list packages
чтобы сначала увидеть, какие пакеты / приложения установлены на моем устройстве Android или эмуляторе, а затем после поиска нужного пакета / приложения я делаюadb shell pm uninstall -k com.package.name
.
Я предполагаю, что вы включите
developer mode
на вашем устройстве Android, и вы подключены к устройству и у вас есть доступ к Shell (adb shell
).как только это будет сделано, вы можете удалить приложение с помощью этой команды
pm uninstall --user 0 <package.name>
. 0-это корневой идентификатор -таким образом, вам не нужно искоренить устройства.вот пример, как я сделал на моем Huawei P110 lite
# gain shell access $ adb shell # check who you are $ whoami shell # obtain user id $ id uid=2000(shell) gid=2000(shell) # list packages $ pm list packages | grep google package:com.google.android.youtube package:com.google.android.ext.services package:com.google.android.googlequicksearchbox package:com.google.android.onetimeinitializer package:com.google.android.ext.shared package:com.google.android.apps.docs.editors.sheets package:com.google.android.configupdater package:com.google.android.marvin.talkback package:com.google.android.apps.tachyon package:com.google.android.instantapps.supervisor package:com.google.android.setupwizard package:com.google.android.music package:com.google.android.apps.docs package:com.google.android.apps.maps package:com.google.android.webview package:com.google.android.syncadapters.contacts package:com.google.android.packageinstaller package:com.google.android.gm package:com.google.android.gms package:com.google.android.gsf package:com.google.android.tts package:com.google.android.partnersetup package:com.google.android.videos package:com.google.android.feedback package:com.google.android.printservice.recommendation package:com.google.android.apps.photos package:com.google.android.syncadapters.calendar package:com.google.android.gsf.login package:com.google.android.backuptransport package:com.google.android.inputmethod.latin # uninstall gmail app pm uninstall --user 0 com.google.android.gms