Cambiare il nome del pacchetto di un'applicazione Android aggiornata
-
26-09-2019 - |
Domanda
Durante l'aggiornamento della mia applicazione Android, ho cambiato il nome del pacchetto. Ma mercato Android non permette di caricare l'applicazione nome del pacchetto modificato come aggiornamento. Se a caricare l'applicazione come una nuova applicazione, l'utente dovrà due applicazioni sulla sua / il suo dispositivo? Come posso fare in modo che l'utente non deve scaricare l'applicazione di nuovo da zero senza tornare il cambio del mio nome pacchetto?
Soluzione
due package = due diversa applicazione in di mercato. Una volta caricato un app, il suo pacchetto dovrebbe essere lo stesso. Inoltre, la chiave deve essere lo stesso.
Altri suggerimenti
Android Market è solo preoccupato per il nome del pacchetto nella vostra manifesta, non il nome effettivo pacchetti nella sorgente.
Si potrebbe provare a dare al vecchio nome del pacchetto nell'attributo manifesta, poi per le attività danno il nuovo nome del pacchetto, invece di relativa (cioè .MainActivity)
In questo modo:
<manifest package="your.old.package" ...>
...
<application android:name="your.new.package.MainActivity" ...>
potrebbe funzionare ..
Ho intenzione di servire due versioni della mia app (pagato / libero) in questo modo e utilizzando lo stesso progetto e codice.
Se si cambia il nome del pacchetto, è trattata come un app separato - non solo nel mercato, ma APK di, in generale, sarà solo 'replace' lo stesso nome del pacchetto (e solo se sono entrambi firmato con la stessa chiave) .
Anche se è possibile di eliminare gradualmente verso una nuova chiave con la firma di un pacchetto intermedio con entrambi i tasti , non c'è momento non facile modo di fase sopra il nome del pacchetto.
Il meglio che si può fare è questa:
- La nuova versione APK è firmato con la stessa chiave, ma ha un nome di un pacchetto diverso.
- Quando installato, i nuovi organizza APK per utilizzare il
shared_prefs
con il vecchio nome del pacchetto. - I dati vengono copiati in tutto il nuovo nome del pacchetto.
- Le nuove richieste di versione che la vecchia versione viene rimosso, e l'utente visualizza la finestra di dialogo di disinstallazione.
Dati Nota app è di solito conservati qui:
/data/data/pac.kage.name/
Non ho provato questo, quindi non posso fornire dettagli ancora più. Si può anche essere interessati a mia richiesta di un modo senza soluzione di continuità di transizione del pacchetto nome .