2011-11-23 12 views
9

Costruisco due app per la prima app com.pakname.pak1 e la seconda con nome del pacchetto com.pakname.pak2, quindi ho ottenuto una chiave mykey.keystore.Firma due app con la stessa chiave

Cosa succede se firmo entrambe le app con la stessa chiave e le pubblichiamo sul mercato Android?

questa buona abitudine? Immagino non lo sia, ma non ho il senso di firmare app della stessa azienda con chiavi diverse.

qualcuno mi può spiegare questo tipo di scenario

Grazie

+0

possibile duplicato di [Utilizzo di una chiave di pubblicazione su due account in Android Market] (http: // StackOverflow.it/questions/5174178/using-one-publishing-key-on-two-accounts-in-android-market) – AbdelHady

+0

@AbdelHady non è un duplicato, l'OP sta usando un account (almeno non dicono il contrario –

risposta

15

Leggere questo

Strategie di firma

Alcuni aspetti della firma applicazione possono influenzare il modo si avvicina lo sviluppo della vostra applicazione, in particolare se si prevede di rilasciare più applicazioni.

In generale, la strategia consigliata per tutti gli sviluppatori è firmare tutte le applicazioni con lo stesso certificato, per tutta la durata prevista delle applicazioni. Ci sono diversi motivi per cui si dovrebbe fare in modo da:

  • applicazione di aggiornamento - Come si rilascia aggiornamenti dell'applicazione, si vuole continuare a firmare gli aggiornamenti con lo stesso certificato o una serie di certificati, se si desidera che gli utenti per aggiornare senza problemi alla nuova versione. Quando il sistema installa un aggiornamento per un'applicazione, confronta i certificati nella nuova versione con quelli nella versione esistente. Se i certificati corrispondono esattamente, inclusi sia i dati del certificato che l'ordine, il sistema consente l'aggiornamento. Se si firma la nuova versione senza utilizzare i certificati corrispondenti, sarà inoltre necessario assegnare un nome di pacchetto diverso all'applicazione, in questo caso l'utente installa la nuova versione come un'applicazione completamente nuova.

  • Modularità dell'applicazione - Il sistema Android consente alle applicazioni che sono firmate dallo stesso certificato di essere eseguite nello stesso processo, se le applicazioni lo richiedono, in modo che il sistema le consideri come una singola applicazione. In questo modo è possibile distribuire l'applicazione in moduli e gli utenti possono aggiornare ciascuno dei moduli in modo indipendente, se necessario.

  • Condivisione di codice/dati tramite autorizzazioni. Il sistema Android fornisce l'imposizione delle autorizzazioni basate sulla firma, in modo che un'applicazione possa esporre la funzionalità a un'altra applicazione firmata con un certificato specificato. Firmando più applicazioni con lo stesso certificato e utilizzando i controlli delle autorizzazioni basati sulle firme, le applicazioni possono condividere codice e dati in modo sicuro.

+10

Sappi anche degli svantaggi che utilizzano lo stesso certificato per più applicazioni: se vuoi vendere a qualcuno solo una delle tue applicazioni (fonte + codice + risorse + certificato), verrai avvitato: sarai "obbligato" a vendere il tuo certificato in modo che il nuovo proprietario dell'app possa aggiornarlo (altrimenti, perderebbe tutti i tuoi attuali utenti, il che dovrebbe essere triste dato che l'app valeva la pena acquistarlo), quindi questo significa cose cattive per le tue altre app ... Inoltre, il primo elemento (punto 1) in questa risposta non riguarda "1 certif. per N app" ma solo "1 certif. per tutti gli aggiornamenti di un'app specifica". – xav

0

Sul mercato le cose veramente importanti sono il nome del pacchetto e il controllo delle versioni. Se provi a caricare due diversi nomi di pacchetti per la stessa app, ti ritroverai in una zona grigia piena di dolore :( Secondo, se provi a caricare due volte la stessa app dimenticando di aggiornare la versione, Market rifiuterà il tuo carica e devi ricostruire l'app modificando la versione Infine, uso lo stesso keystore e la stessa firma per le mie app senza problemi :)

+0

Non voglio caricare la stessa app con nomi di pacchetti diversi, ho due app completamente diverse e voglio firmarle con la stessa chiave. Se ti capisco, non ci sono problemi con questo tipo di scenari. – Lukap

+0

Sì, certo, ti ho dato solo le basi per evitarli problemi con il caricamento. Come ti ho detto, uso lo stesso keystore e la stessa password per tutte le mie app. – Zappescu

Problemi correlati