2012-01-29 9 views
62

Wiem, że adb install nie zastąpi istniejącego pakietu, jeśli jest on inny niż (np. Debugowanie lub wydanie).Dlaczego instalacja adb install <same-packagename-always-release> kończy się niepowodzeniem?

Eclipse również pomyślnie zastępuje aplety debugowania za każdym razem, gdy uruchamiam sesję debugowania.

Ale gdy próbuję adb install zastąpienia istniejącego zwalniającą apk z innym apk uwalnianiu (! Sama nazwa pakietu), pojawia się komunikat o awarii:

adb install myapp-release.apk 
    pkg: /data/local/tmp/myapp-release.apk 
Failure [INSTALL_FAILED_ALREADY_EXISTS] 
745 KB/s (34310 bytes in 0.044s) 

nie było to, że ma działać? czego mi brakuje?

Odpowiedz

147

Przypuszczam, jeśli aplikacja jest już zainstalowana, musisz podać klucz -r:

adb install -r myapp-release.apk 

Z pomocą adb:

'-r' means reinstall the app, keeping its data 
+0

Dziękuję. Nie mogę uwierzyć, że przeoczyłem coś tak oczywistego. +1 i i akceptowanie. – an00b

+16

Pamiętaj, że możesz użyć opcji -r, nawet jeśli pakiet nie istnieje, więc równie dobrze możesz go używać, chyba że nie chcesz zastąpić istniejącej apk. –

+0

@ David Caunt Dzięki za tę wskazówkę. – an00b

Powiązane problemy