2012-01-29 11 views
62

So che adb install non sostituirà un pacchetto esistente se è di un'altra build tipo (ad esempio debug contro versione).Perché l'installazione di adb <same-packagename-always-release> non riesce?

Eclipse sostituisce anche con successo gli apug di debug ogni volta che si esegue una sessione di debug.

Ma quando tento adb install per la sostituzione di una esistente rilascio APK con un altro apk rilascio (! Stesso nome del pacchetto), ottengo un messaggio di errore:

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) 

Non era questo che vorrebbe lavorare? Cosa mi manca?

risposta

147

Suppongo che se l'applicazione è già installata, è necessario fornire la chiave -r:

adb install -r myapp-release.apk 

Dal adb aiuto:

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

Grazie. Non posso credere di aver perso qualcosa di così ovvio. +1 e accettazione. – an00b

+16

Nota che puoi usare il flag -r anche se il pacchetto non esiste, quindi puoi sempre usarlo a meno che tu non voglia sovrascrivere un apk esistente. –

+0

@David Caunt Grazie per questo suggerimento. – an00b

Problemi correlati