gdy próbowałem zaktualizować moją aplikację o nową wersję, która ma taki sam podpis jak poprzednia, pokazuje powyższy błąd.
Czego mi brakuje?
Jeśli instalujesz aplikację na swoim urządzeniu za pośrednictwem adb install
, powinieneś poszukać opcji ponownej instalacji, która powinna być -r
. Jeśli tak adb install -r
, powinieneś móc zainstalować bez wcześniejszego odinstalowywania.
adb install -r
nie zawsze działa (mam EVO 4G od Sprint, który nie zachowuje się zgodnie z oczekiwaniami). Jedyne obejście, które znalazłem, to ręczne usunięcie aplikacji. Czasami nawet muszę to zrobić za pomocą interfejsu telefonu, ponieważ EVO jest tak temperamentny.adb install -r
najpierw usuń, a następnie zainstaluj lub zaktualizuj moją aplikację. Chociażadb
opis nie jest bardzo jasny ( -r: zamień istniejącą aplikację ),adb install -r
faktycznie aktualizuje aplikację i nie usuwa danych aplikacji. Dlatego nadaje się do testowania aktualizacji aplikacji (czyli informacji, których szukałem).adb install -r
że nie działa: Myślę, że.apk
plik, który próbujesz zainstalować, nie został podpisany tym samym certyfikatem programisty, co.apk
plik zainstalowany na urządzeniu. Łatwo zdarza się, jeśli masz zainstalowaną aplikację do debugowania, a następnie próbujesz zainstalować aplikację w wersji Release lub na odwrót. Nie można zaktualizować aplikacji, jeśli nie jest ona podpisana tym samym certyfikatem.Ten błąd występuje, ponieważ aplikacja o nazwie pakietu takiej samej jak Twoja aplikacja już istnieje. Jeśli masz pewność, że nie zainstalowałeś wcześniej tej samej aplikacji, zmień nazwę pakietu i spróbuj.
Jeśli chodzi o mądre, oto, co możesz zrobić:
źródło
adb uninstall my.package
. Dziwnie, nie odinstalowałem prefiksów, które chciałem usunąć, ale pozbyłem się pakietu, co blokowało mnie przed ponownym zainstalowaniem.Może to oznaczać, że aplikacja jest już zainstalowana dla innego użytkownika na twoim urządzeniu. Użytkownicy współużytkują aplikacje. Nie wiem, dlaczego to robią, ale wiedzą. Więc jeśli jeden użytkownik aktualizuje, aplikacja jest aktualizowana również dla drugiego użytkownika. Jeśli odinstalujesz na jednym, nie usunie aplikacji z systemu na drugim.
źródło
adb install <package.apk>
nie powiodło się, mimo że aplikacja nie była już widoczna na liście aplikacji. Okazuje się, że wciąż był tam na innym koncie na moim urządzeniu ... Dzięki!Żeby zainstalować
(
-r
Sprawia, że zastępuje istniejącą kopię, dodaje i-s
instaluje na emulatorze)Upewnij się, że aplikacja jest podpisana tak samo i ma ten sam
debug/release
wariantPremia
~/.bash_profile
Ustawiłem w sobie alias , aby było to polecenie 2char.(Skrót od kompilacji i instalacji)
źródło
Jeśli nadal masz problem, spróbuj odinstalować aplikację za pomocą wiersza polecenia. po prostu dodaj polecenie,
adb uninstall com.example.yourpackagename
a następnie spróbuj ponownie zainstalować. Działa!źródło
Na moim tablecie z Androidem 5 za każdym razem, gdy próbuję użyć adb, aby zainstalować podpisaną wersję apk, pojawia się
[INSTALL_FAILED_ALREADY_EXISTS]
błąd.Najpierw muszę odinstalować pakiet debugowania. Ale nie mogę odinstalować za pomocą Menedżera aplikacji urządzenia !
Jeśli odinstaluję wersję debugowania za pomocą Menedżera aplikacji , to muszę ponownie uruchomić wariant kompilacji debugowania z Android Studio, a następnie odinstalować za pomocą
adb uninstall com.example.mypackagename
Wreszcie mogę użyć,
adb install myApp.apk
aby zainstalować podpisaną wersję apk.źródło