Non ho mai impostato password per il mio keystore e alias, quindi come vengono create?


137

Mentre stavo esaminando alcuni post su Internet per saperne di più sulla firma della tua app Android , ho ricevuto messaggi come come firmare l'app e qualcosa su cosa succede se hai perso il file o la password del keystore.

La domanda che sono qui per porre è che non ho mai creato un keystore, il suo alias o la sua password, quindi come posso dimenticarlo su questa terra?

So che per Android usiamo la password android , quindi, se la password è Android di default come si può dimenticare? (Sono sicuro che ci deve essere un altro modo per creare nuovi keystore).

Infine, se Android è la password predefinita, qual è l'alias predefinito?

Risposte:


409

Accesso in modalità debug

Gli strumenti di build di Android forniscono una modalità di firma del debug che semplifica lo sviluppo e il debug dell'applicazione, pur soddisfacendo i requisiti di sistema Android per la firma dell'APK. Quando si utilizza la modalità debug per creare l'app, gli strumenti SDK invocano Keytool per creare automaticamente un keystore e una chiave di debug. Questa chiave di debug viene quindi utilizzata per firmare automaticamente l'APK, quindi non è necessario firmare il pacchetto con la propria chiave.

Gli strumenti SDK creano il keystore / chiave di debug con nomi / password predefiniti:

Keystore name: "debug.keystore"
Keystore password: "android"
Key alias: "androiddebugkey"
Key password: "android"
CN: "CN=Android Debug,O=Android,C=US"

Se necessario, è possibile modificare la posizione / il nome del keystore / chiave di debug o fornire un keystore / chiave di debug personalizzato da utilizzare. Tuttavia, qualsiasi keystore / chiave di debug personalizzato deve utilizzare gli stessi nomi e password di keystore / chiave della chiave di debug predefinita (come descritto sopra). (Per fare ciò in Eclipse / ADT, vai su Windows> Preferenze> Android> Build .)

Attenzione: non è possibile rilasciare l'applicazione al pubblico quando viene firmata con il certificato di debug.

Fonte: Developer.Android


È stato molto istruttivo. Accettandolo come una risposta. Un'altra domanda signore. Un singolo keystore ha molte chiavi oppure il keystore e la chiave sono la stessa cosa?
Anas Azeem,

Un keystore può avere molte chiavi e dovrai creare un diverso alias delle chiavi, penso che ora sia evidente la differenza tra key e keystore. Keystore è un contenitore di chiavi

L'ho usato per firmare un apk senza segno che non ho potuto installare: jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~ ​​/ .android / debug.keystore my_unsigned.apk androiddebugkey Grazie
Ivan Morgillo

@ user2730944 Potresti, per favore, festeggiare su come scoprire quale password è "android", come dalla fonte che hai fornito che non è evidente?
spin_eight,

22

se si desidera configurarli in gradi dovrebbe apparire come

signingConfigs {
        debug {
            storeFile file('PATH_TO_HOME/.android/debug.keystore')
            storePassword 'android'                   
            keyAlias 'AndroidDebugKey'
            keyPassword 'android'                     
        }
        ...
}

3

quando eseguiamo un'applicazione in eclipse apk generate è sign per impostazione predefinita Keystore che è fornito da Android.

Ma se vuoi caricare la tua applicazione sul Play Store devi creare il tuo keystore. Eclipse fornisce già l'interfaccia GUI per creare un nuovo keystore. E puoi anche creare keystore attraverso la riga di comando.

l'alias predefinito è

androiddebugkey

Grazie per la risposta, ma qualsiasi idea di quale sia la password per la chiave, poiché la password per l'archivio chiavi era "android" (se non sbaglio)
Anas Azeem,

@AnasAzeem vedi la mia risposta

3
Keystore name: "debug.keystore"

Keystore password: "android"

Key alias: "androiddebugkey"

Key password: "android"

Uso queste informazioni e genera con successo APK firmato.


2

Meglio di tutte le opzioni, puoi impostare signingConfigcome uguale a tuo debug.signingConfig. Per fare ciò devi solo fare quanto segue:

android {
  ...
  buildTypes {
    ...
    wantedBuildType {
      signingConfig debug.signingConfig
    }
  }
}

Con ciò non avrai bisogno di sapere dove si debug.keystoretrova, l'app funzionerà per tutto il team, anche se qualcuno usa un ambiente diverso.


Eccellente! Questo è il modo conciso per rendere installabile un tipo di build debugProguard.
Jerry101,

1

Tutte queste risposte e ce n'è ancora solo una mancante. Quando crei le tue credenziali di autenticazione nella sezione API di Google della console di sviluppo, assicurati (specialmente se è la tua prima) di aver fatto clic sull'opzione 'schermata di consenso'. Se non hai il 'titolo' e qualsiasi altro campo obbligatorio compilato, la chiamata fallirà con questa opzione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.