it-swarm.com.de

Wie kann ich einen Keystore erstellen?

Was sind die Schritte zum Erstellen eines Keystores für Android (in einer Eclipse-Umgebung)? Ich muss Google Maps in meiner App verwenden und weiß nicht, welche Schritte ich verpasst habe. Bitte teilen Sie mir die genauen Schritte mit (ich habe sie in den Handbüchern nicht verstanden).

464
user482762

Um die Frage im Titel zu beantworten, erstellen Sie einen Keystore mit dem Keytool-Dienstprogramm Java, das mit jeder Standard-JDK-Distribution geliefert wird und sich unter %Java_HOME%\bin befindet. Unter Windows ist dies normalerweise C:\Program Files\Java\jre7\bin.

Öffnen Sie unter Windows ein Befehlsfenster, wechseln Sie in dieses Verzeichnis und geben Sie einen Befehl wie diesen ein

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

Sie werden von Keytool aufgefordert, Kennwörter für den Keystore, die Felder Distinguished Name und dann das Kennwort für Ihren Schlüssel einzugeben. Anschließend wird der Schlüsselspeicher als Datei mit dem Namen my-release-key.keystore in dem Verzeichnis erstellt, in dem Sie sich befinden. Der Schlüsselspeicher und der Schlüssel sind durch die von Ihnen eingegebenen Kennwörter geschützt. Der Schlüsselspeicher enthält einen einzelnen Schlüssel, der 10000 Tage gültig ist. Der Alias ​​ist ein Name, den Sie später verwenden, um beim Signieren Ihrer Anwendung auf diesen Schlüsselspeicher zuzugreifen.

Weitere Informationen zu Keytool finden Sie in der Dokumentation unter: http://docs.Oracle.com/javase/6/docs/technotes/tools/windows/keytool.html

weitere Informationen zum Signieren von Android Apps finden Sie hier: http://developer.Android.com/tools/publishing/app-signing.html

473
georgiecasey

Signieren Sie Ihre App in Android Studio

Gehen Sie folgendermaßen vor, um Ihre App im Freigabemodus in Android Studio zu signieren:

1- Klicken Sie in der Menüleiste auf Erstellen> Signierte APK generieren.


2-Klicken Sie im Fenster Signiertes APK generieren Wizard auf Neu erstellen, um einen neuen Schlüsselspeicher zu erstellen. Wenn Sie bereits einen Keystore haben, fahren Sie mit Schritt 4 fort.


3- Geben Sie im Fenster New Key Store (Neuer Schlüsselspeicher) die erforderlichen Informationen ein (siehe Abbildung). Ihr Schlüssel sollte mindestens 25 Jahre gültig sein, damit Sie während der gesamten Lebensdauer Ihrer App App-Updates mit demselben Schlüssel signieren können.

enter image description here

4- Wählen Sie im Fenster Signierte APK generieren Wizard einen Schlüsselspeicher und einen privaten Schlüssel aus und geben Sie die Kennwörter für beide ein. Klicken Sie dann auf Weiter.enter image description here

5- Wählen Sie im nächsten Fenster ein Ziel für das signierte APK aus und klicken Sie auf Fertig stellen. enter image description here

referenz

http://developer.Android.com/tools/publishing/app-signing.html

138
mustafasevgi

Ich war verrückt danach, wie man einen .keystore mit einem einzeiligen Befehl in der Shell erzeugt, damit ich ihn von einer anderen Anwendung ausführen kann. Das ist der Weg:

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 ist eine eindeutige Kennung für die Anwendung im .keystore

    • cn der vollständige Name der Person oder Organisation, die den .keystore generiert
    • oder Organisationseinheit, die das Projekt erstellt. Dies ist eine Unterteilung der Organisation, die das Projekt erstellt. Ex. Android.google.com
    • o Organisationsinhaber des gesamten Projekts. Es ist ein höherer Bereich als oder . Bsp .: google.com
    • c Die Ländervorwahl. Bsp .: Für USA ist "US"
  • Alias ​​ Kennung der App als einzelne Entität im .keystore (es kann viele geben)

  • Keypass Passwort zum Schutz dieses bestimmten Alias.
  • keystore Pfad, unter dem die . keystore -Datei erstellt werden soll (die Standarderweiterung lautet tatsächlich .ks)
  • storepass Passwort zum Schutz des gesamten . keystore Inhalts.
  • Gültigkeit Anzahl der Tage, an denen die App mit diesem gültig ist. keystore

Es hat sehr gut funktioniert, es verlangt nichts anderes in der Konsole, erstellt nur die Datei. Weitere Informationen finden Sie unter keytool - Schlüssel- und Zertifikatverwaltungstool .

85
EliuX

Erstellen Sie eine Keystore-Datei über die Befehlszeile:

  1. Öffnen Sie die Befehlszeile:

    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]
    
  2. Enter> Fordert zur Eingabe eines Passworts auf> Passwort eingeben (es wird unsichtbar)

    Enter keystore password:
    Re-enter new password:
    
  3. Enter> Es wird nach Ihrem Detail gefragt.

    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
    
  4. Enter> Enter Y

    Is CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91 correct?
    [no]:  Y
    
  5. Enter> Passwort erneut eingeben.

    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:
    

[Speichern von C: /index.keystore]

  1. Und du bist fertig !!!

In Eclipse exportieren:

Exportieren Sie Ihr Android -Paket mit Ihrer erstellten Keystore-Datei nach .apk

  1. Klicken Sie mit der rechten Maustaste auf das Paket, das Sie exportieren möchten, und wählen Sie Exportieren enter image description here

  2. Wählen Sie Exportieren Android Anwendung> Weiter enter image description here

  3. Nächster
    enter image description here

  4. Wählen Sie Vorhandenen Keystore verwenden> .keystore-Datei durchsuchen> Kennwort eingeben> Weiter enter image description here

  5. Wählen Sie Alias> Passwort eingeben> Weiter enter image description here

  6. APK-Ziel durchsuchen> Fertig stellen enter image description here

In Android Studio:

Keystore [.keystore/.jks] im Studio erstellen ...

  1. Klicken Sie auf Erstellen (ALT + B) > Signierte APK generieren ...
    enter image description here

  2. Klicken Sie auf Neu erstellen .. (ALT + C)
    enter image description here

  3. Schlüsselspeicherpfad durchsuchen (UMSCHALT + EINGABETASTE)> Pfad auswählen> Name eingeben> OKenter image description here

  4. Füllen Sie die Details zu Ihrer .jks/keystore -Datei aus enter image description here

  5. Nächster
    enter image description here

  6. Deine Datei
    enter image description here

  7. Geben Sie das Studio-Master-Passwort ein (Sie können es ZURÜCKSETZEN, wenn Sie es nicht wissen.) > OK enter image description here

  8. Wählen Sie * Zielordner *> Build-Typ

    release : for publish on app store
    debug : for debugging your application
    

    Klicken Sie auf Fertig stellen

    enter image description here

Getan !!!

68
Iamat8

Dieses Tutorial:

http://techdroid.kbeanie.com/2010/02/sign-your-Android-applications-for.html

war sehr hilfreich für mich, als ich zum ersten Mal einen Keystore erstellen musste. Es ist einfach, aber die Anweisungen auf developer.Android.com sind etwas zu kurz.

Ich war mir nicht sicher, wo und unter welchem ​​Namen ich die Keystore -Datei speichern sollte.

Ich denke, es spielt keine Rolle, wo Sie es ablegen. Achten Sie nur darauf, es sicher aufzubewahren und eine Reihe von Backups aufzubewahren. Ich habe es einfach in mein App-Verzeichnis gelegt

Nennen Sie die Datei "something.keystore", in der etwas beliebig sein kann. Ich habe app_name.keystore verwendet, wobei app_name der Name meiner App war .

Der nächste Teil war der Name des Alias. Wieder scheint es keine Rolle zu spielen, also habe ich einfach wieder den app_name verwendet. Behalten Sie die zuvor verwendeten Passwörter bei. Füllen Sie die restlichen Felder aus und Sie sind fertig.

28
birdman

Ich folgte dieser Anleitung , um den Debug-Keystore zu erstellen.

Der Befehl lautet:

keytool -genkeypair -alias androiddebugkey -keypass Android -keystore debug.keystore -storepass Android -dname "CN=Android Debug,O=Android,C=US" -validity 9999
13
Davide Pastore

Verwenden Sie diesen Befehl, um debug.keystore zu erstellen

keytool -genkey -v -keystore ~/.Android/debug.keystore -alias androiddebugkey -storepass Android -keypass Android -keyalg RSA -keysize 2048 -validity 10000 -dname "CN=Android Debug,O=Android,C=US"
10
Aravin

Als erstes sollten Sie wissen, ob Sie sich im Debug- oder Release-Modus befinden. Von der Entwickler-Site "Es gibt zwei Erstellungsmodi: Debug-Modus und Release-Modus. Sie verwenden den Debug-Modus, wenn Sie Ihre Anwendung entwickeln und testen. Sie verwenden den Release-Modus, wenn Sie eine Release-Version Ihrer Anwendung erstellen möchten, die Sie direkt verteilen können für Nutzer oder zum Veröffentlichen auf einem Anwendungsmarktplatz wie Google Play. "

Wenn Sie sich im Debug-Modus befinden, gehen Sie wie folgt vor ...
EIN. Öffnen Sie das Terminal und geben Sie Folgendes ein:

keytool -exportcert -alias androiddebugkey -keystore path_to_debug_or_production_keystore -list -v

Hinweis: Bei Eclipse befindet sich der Debug-Keystore normalerweise unter ~/.Android/debug.keystore ...

B. Wenn Sie zur Eingabe eines Passworts aufgefordert werden, geben Sie einfach "Android" ein ...

C. Wenn Sie sich im Freigabemodus befinden, befolgen Sie die Anweisungen auf ...

http://developer.Android.com/tools/publishing/app-signing.html <- Dieser Link erklärt so ziemlich alles, was Sie wissen müssen.

4
ShowLove

Sie können Ihren Keystore erstellen, indem Sie eine signierte APK exportieren. Wenn Sie versuchen, ein signiertes APK zu exportieren/zu erstellen, werden Sie nach einem Schlüsselspeicher gefragt.

Sie können Ihren vorhandenen Schlüsselspeicher auswählen oder einfach einen neuen erstellen, indem Sie auf Neuen Schlüsselspeicher erstellen klicken

Hier ein Link, der sehr nützlich und ausführlich erklärt, wie Sie Ihren Keystore erstellen und eine signierte APK generieren

Dieser Link erklärt, wie es mit Android Studio gemacht wird, aber wenn ich mich recht erinnere, ist es bei Eclipse ziemlich ähnlich

ACHTUNG

Bewahren Sie den Schlüsselspeicher nach dem Generieren an einem sicheren Ort auf, da Sie ihn zum Wiederherstellen eines neuen signierten APK benötigen.

Wie exportiere ich ein Projekt im Android Studio?

2
Hugo

Ich würde gerne einen automatischen Weg mit nur gradle vorschlagen

** Definieren Sie auch mindestens einen zusätzlichen Parameter für den Keystore im letzten Befehl, z. country '-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
}

Dadurch wird beim Synchronisieren und Erstellen des Projekts ein Keystore erstellt

> Task :app:generateKeystore UP-TO-DATE
> Task :app:preBuild UP-TO-DATE
0
V. Kalyuzhnyu