Quali sono i passaggi per creare un keystore per Android?
Devo utilizzare google maps nella mia app e non so quali passaggi ho perso. Forniscimi i passaggi dettagliati specifici (non l'ho capito dalle guide).
Quali sono i passaggi per creare un keystore per Android?
Devo utilizzare google maps nella mia app e non so quali passaggi ho perso. Forniscimi i passaggi dettagliati specifici (non l'ho capito dalle guide).
Risposte:
Per rispondere alla domanda nel titolo, si crea un keystore con l'utilità Java Keytool fornita con qualsiasi distribuzione JDK standard e può essere trovata all'indirizzo %JAVA_HOME%\bin
. Su Windows questo sarebbe di solito C:\Program Files\Java\jre7\bin
.
Quindi su Windows, apri una finestra di comando e passa a quella directory e inserisci un comando come questo
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Keytool richiede di fornire le password per l'archivio chiavi, fornire i campi Nome distinto e quindi la password per la chiave. Quindi genera il keystore come file chiamato my-release-key.keystore nella directory in cui ci si trova. Il keystore e la chiave sono protetti dalle password immesse. Il keystore contiene una chiave singola, valida per 10000 giorni. L'alias è un nome che verrà utilizzato in seguito per fare riferimento a questo keystore quando si firma l'applicazione.
Per ulteriori informazioni su Keytool, consultare la documentazione all'indirizzo: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html
e per ulteriori informazioni sulla firma di app Android vai qui: http://developer.android.com/tools/publishing/app-signing.html
keytool -genkey -v -keystore debug.keystore -storepass android -alias android -keypass android -keyalg RSA -keysize 2048 -validity 10000
. Quindi per generare lo SHA-1 che devi mettere in Firebase fai:keytool -list -v -keystore debug.keystore -alias android -storepass android -keypass android
Per firmare l'app in modalità di rilascio in Android Studio, attenersi alla seguente procedura:
1- Nella barra dei menu, fai clic su Genera> Genera APK firmato.
2-Nella finestra Creazione guidata APK firmato, fai clic su Crea nuovo per creare un nuovo keystore. Se hai già un archivio chiavi, vai al passaggio 4.
3- Nella finestra Nuovo archivio chiavi, fornire le informazioni richieste come mostrato in figura. La chiave deve essere valida per almeno 25 anni, in modo da poter firmare gli aggiornamenti dell'app con la stessa chiave per tutta la durata dell'app.
4- Nella finestra Genera procedura guidata APK firmato, selezionare un keystore, una chiave privata e inserire le password per entrambi. Quindi fare clic su Avanti.
5- Nella finestra successiva, selezionare una destinazione per l'APK firmato e fare clic su Fine.
http://developer.android.com/tools/publishing/app-signing.html
Ero pazzo a cercare come generare un .keystore usando nella shell un comando a riga singola , in modo da poterlo eseguire da un'altra applicazione. Questo è il modo:
echo y | keytool -genkeypair -dname "cn=Mark Jones, ou=JavaSoft, o=Sun, c=US" -alias business -keypass kpi135 -keystore /working/android.keystore -storepass ab987c -validity 20000
dname è un identificatore univoco per l'applicazione nel .keystore
alias Identificatore dell'app come singola entità all'interno del .keystore (può avere molti)
.ks
)Ha funzionato davvero bene per me, non richiede nient'altro nella console, crea semplicemente il file. Per ulteriori informazioni, consultare keytool - Strumento di gestione chiavi e certificati .
/path/file.keystore
e puntalo con il parametro storepass.
jks
è l' estensione ufficiale del keystore per java in generale, tuttavia keystore
è quella consigliata per essere utilizzata per le app Android .
Crea file keystore dalla riga di comando:
Apri riga di comando:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved
// (if you want to store keystore file at C:/ open command line with RUN AS ADMINISTRATOR)
C:\Windows\system32> keytool -genkey -v -keystore [your keystore file path]{C:/index.keystore} -alias [your_alias_name]{index} -keyalg RSA -keysize 2048 -validity 10000[in days]
Enter> Ti verrà richiesta la password> inserisci la password (sarà invisibile)
Enter keystore password:
Re-enter new password:
Inserisci> Chiederà i tuoi dettagli.
What is your first and last name?
[Unknown]: {AB} // [Your Name / Name of Signer]
What is the name of your organizational unit?
[Unknown]: {Self} // [Your Unit Name]
What is the name of your organization?
[Unknown]: {Self} // [Your Organization Name]
What is the name of your City or Locality?
[Unknown]: {INDORE} // [Your City Name]
What is the name of your State or Province?
[Unknown]: {MP} //[Your State]
What is the two-letter country code for this unit?
[Unknown]: 91
Enter> Enter Y
Is CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91 correct?
[no]: Y
Invio> Inserisci di nuovo la password.
Generating 2,048 bit RSA key pair and self-signed certificate (SHA256withRSA) with a validity of 10,000 days
for: CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91
Enter key password for <index> (RETURN if same as keystore password):
Re-enter new password:
[Memorizzazione di C: /index.keystore]
Esporta il tuo pacchetto Android in .apk con il file del keystore creato
Fare clic con il tasto destro del mouse sul pacchetto che si desidera esportare e selezionare Esporta
Seleziona Esporta applicazione Android> Avanti
Il prossimo
Selezionare Usa archivio chiavi esistente> Sfoglia file .keystore> inserisci password> Avanti
Crea keystore [.keystore/.jks]
in studio ...
Fai clic su Genera (ALT + B) > Genera APK firmato ...
Fai clic su Crea nuovo .. (ALT + C)
Sfoglia percorso archivio chiavi (MAIUSC + INVIO)> Seleziona percorso> Inserisci nome> OK
Inserisci i dettagli sul tuo .jks/keystore
file
Il prossimo
Il tuo file
Inserisci la password principale di Studio (puoi RESET se non lo sai) > OK
Seleziona * Cartella di destinazione *> Tipo di build
release : for publish on app store
debug : for debugging your application
Fai clic su Fine
Fatto !!!
Questo tutorial:
http://techdroid.kbeanie.com/2010/02/sign-your-android-applications-for.html
è stato molto utile per me la prima volta che ho dovuto creare un keystore. È semplice ma le istruzioni su developer.android.com sono un po 'troppo brevi.
La parte di cui non ero sicuro era dove salvare e quale nome dare il file del keystore .
Sembra che non importa dove lo metti, assicurati solo di tenerlo al sicuro e conservare un numero di backup. L'ho appena inserito nella mia directory dell'app
Denominare il file "something.keystore" dove qualcosa può essere quello che vuoi. Ho usato app_name.keystore , dove app_name era il nome della mia app.
La parte successiva era come chiamare l'alias. Ancora una volta non sembra importare, quindi ho usato nuovamente app_name . Conserva le password come quelle utilizzate in precedenza. Compila il resto dei campi e il gioco è fatto.
Ho seguito questa guida per creare il keystore di debug.
Il comando è:
keytool -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999
La prima cosa da sapere è se sei in modalità Debug o Release. Dal sito dello sviluppatore "Esistono due modalità di compilazione: la modalità di debug e la modalità di rilascio. La modalità di debug viene utilizzata durante lo sviluppo e il test dell'applicazione. Utilizzare la modalità di rilascio quando si desidera creare una versione di rilascio dell'applicazione che è possibile distribuire direttamente agli utenti o pubblicare su un marketplace di applicazioni come Google Play. "
Se sei in modalità debug, esegui le seguenti operazioni:
A. Apri il terminale e digita:
keytool -exportcert -alias androiddebugkey -keystore path_to_debug_or_production_keystore -list -v
Nota: per Eclipse, il keystore di debug si trova in genere in ~ / .android / debug.keystore ...
B. quando viene richiesta una password, inserisci semplicemente "android" ...
C. Se si è in modalità di rilascio, seguire le istruzioni su ...
http://developer.android.com/tools/publishing/app-signing.html <- questo link spiega praticamente tutto ciò che devi sapere.
È possibile creare il keystore esportando un APK firmato. Quando proverai a esportare / creare un APK firmato, ti verrà richiesto un archivio chiavi.
Puoi scegliere il tuo keystore esistente oppure puoi crearne facilmente uno nuovo facendo clic su crea nuovo keystore
Qui un link molto utile e ben spiegato su come creare il tuo keystore e generare un APK firmato
Questo link ha spiegato come farlo con Android Studio, ma se ricordo, è abbastanza simile su Eclipse
ATTENTO
Una volta generato il keystore, conservalo in un posto sicuro perché ti servirà per rigenerare un nuovo APK firmato.
Vorrei suggerire il modo automatico solo con la pendenza
** Definire anche almeno un parametro aggiuntivo per il keystore nell'ultimo comando, ad es. Paese '-dname', 'c=RU'
**
apply plugin: 'com.android.application'
// define here sign properties
def sPassword = 'storePassword_here'
def kAlias = 'keyAlias_here'
def kPassword = 'keyPassword_here'
android {
...
signingConfigs {
release {
storeFile file("keystore/release.jks")
storePassword sPassword
keyAlias kAlias
keyPassword kPassword
}
}
buildTypes {
debug {
signingConfig signingConfigs.release
}
release {
shrinkResources true
minifyEnabled true
useProguard true
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
...
}
...
task generateKeystore() {
exec {
workingDir projectDir
commandLine 'mkdir', '-p', 'keystore'
}
exec {
workingDir projectDir
commandLine 'rm', '-f', 'keystore/release.jks'
}
exec {
workingDir projectDir
commandLine 'keytool', '-genkey', '-noprompt', '-keystore', 'keystore/release.jks',
'-alias', kAlias, '-storepass', sPassword, '-keypass', kPassword, '-dname', 'c=RU',
'-keyalg', 'RSA', '-keysize', '2048', '-validity', '10000'
}
}
project.afterEvaluate {
preBuild.dependsOn generateKeystore
}
Questo genererà keystore sulla sincronizzazione e sulla compilazione del progetto
> Task :app:generateKeystore UP-TO-DATE
> Task :app:preBuild UP-TO-DATE
Se non vuoi o non puoi usare Android Studio, puoi usare lo strumento NPM create-android-keystore:
$ create-android-keystore quick
Il risultato è un keystore appena generato nella directory corrente.
Maggiori informazioni: https://www.npmjs.com/package/create-android-keystore