Mam adb
uruchomiony i urządzenie jest podłączone do mojego systemu w trybie debugowania,
Chcę odinstalować aplikację za pomocą zamierzonego uruchomienia za pomocą adb shell am start <INTENT>
Nie chcę odinstalowywać za pomocą adb uninstall com.company.apppackage
i nie chcę tego robić nawet przy użyciuadb shell pm uninstall com.company.apppackage
Jak mogę wysłać intencję z android.intent.action.DELETE
akcją dla określonego pakietu, umożliwiając użytkownikowi wyświetlenie monitu i odinstalowanie programu?
adb shell pm uninstall -k com.packagename
zamiast tego.Użyj tego polecenia w cmd:
Na przykład:
-k
Flaga informuje menedżera pakietów zachować wokół pamięć podręczną i dane katalogi, mimo że aplikacja zostanie usunięta. Jeśli chcesz przeprowadzić czystą dezinstalację, nie określaj-k
.źródło
Korzystając z ADB, możesz użyć dowolnego z następujących trzech poleceń:
Zastąp PAKIET nazwą pakietu zainstalowanej aplikacji użytkownika. Aplikacja nie może być administratorem urządzenia, aby polecenie działało pomyślnie. Wszystkie te polecenia wymagałyby potwierdzenia przez użytkownika usunięcia aplikacji.
Szczegóły tego polecenia można poznać, sprawdzając użycie am za pomocą
adb shell am
.Otrzymałem informacje o tych poleceniach przy użyciu Elixir 2 (użyj dowolnej równoważnej aplikacji). Użyłem go do pokazania działań aplikacji Package Installer (GUI, który widzisz podczas instalacji i usuwania aplikacji), a także związanych z tym intencji. Proszę bardzo.
Alternatywny sposób, którego użyłem, był: próbowałem odinstalować aplikację za pomocą GUI, dopóki nie pojawiło się ostateczne potwierdzenie. Nie potwierdziłem, ale wykonałem polecenie
Między innymi pokazał mi przydatne szczegóły intencji przekazanej w tle. Przykład:
Tutaj możesz zobaczyć akcję, dane, flagę i komponent - wystarczy do celu.
źródło
Chociaż powyższe odpowiedzi działają, ale jeśli masz wiele urządzeń podłączonych do komputera, możesz użyć następującego polecenia, aby usunąć aplikację z jednego z nich:
Jeśli chcesz poznać numer seryjny urządzenia, użyj następującego polecenia:
Spowoduje to wyświetlenie listy podłączonych urządzeń. Lewa kolumna pokazuje numery seryjne urządzeń.
źródło
W moim przypadku
adb shell pm list packages
najpierw sprawdzam, jakie pakiety / aplikacje są zainstalowane na moim urządzeniu z Androidem lub emulatorze, a następnie po zlokalizowaniu żądanego pakietu / aplikacji wykonuję plikadb shell pm uninstall -k com.package.name
.źródło
Zakładam, że włączasz
developer mode
na swoim urządzeniu z Androidem i jesteś połączony z urządzeniem i masz dostęp do powłoki (adb shell
).Gdy to zrobisz, możesz odinstalować aplikację za pomocą tego polecenia
pm uninstall --user 0 <package.name>
. 0 to identyfikator roota - w ten sposób nie musisz rootować swojego urządzenia.Oto przykład, jak zrobiłem na moim Huawei P110 lite
źródło
--user 0
wykonanie usunięcia jako root jest bardzo przydatne