web-dev-qa-db-fra.com

Comment créer un magasin de clés?

Quelles sont les étapes à suivre pour créer un magasin de clés pour Android (dans un environnement Eclipse)? Je dois utiliser Google Maps dans mon application et je ne sais pas quelles étapes j'ai manquées. Veuillez me fournir les étapes détaillées spécifiques (je ne les ai pas comprises dans les guides).

445
user482762

Pour répondre à la question dans le titre, vous créez un fichier de clés à l'aide de l'utilitaire Java Keytool fourni avec toute distribution JDK standard. Vous pouvez le trouver à l'adresse %Java_HOME%\bin. Sous Windows, il s’agit généralement de C:\Program Files\Java\jre7\bin.

Donc, sous Windows, ouvrez une fenêtre de commande, accédez à ce répertoire et entrez une commande comme celle-ci.

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

Keytool vous invite à fournir des mots de passe pour le fichier de clés, les champs Nom distinctif, puis le mot de passe de votre clé. Il génère ensuite le magasin de clés sous la forme d'un fichier appelé my-release-key.keystore dans le répertoire dans lequel vous vous trouvez. Le magasin de clés et la clé sont protégés par les mots de passe que vous avez saisis. Le magasin de clés contient une seule clé, valide pour 10 000 jours. L'alias est un nom que vous utiliserez plus tard pour faire référence à ce magasin de clés lors de la signature de votre application.

Pour plus d'informations sur Keytool, voir la documentation à l'adresse suivante: http://docs.Oracle.com/javase/6/docs/technotes/tools/windows/keytool.html

et pour plus d'informations sur la signature d'applications Android, cliquez ici: http://developer.Android.com/tools/publishing/app-signing.html

456
georgiecasey

Signature de votre application dans Android Studio

Pour signer votre application en mode de libération dans Android Studio, procédez comme suit:

1- Dans la barre de menus, cliquez sur Construire> Générer un APK signé.


2-Dans la fenêtre Generate Signed APK Wizard, cliquez sur Créer pour créer un nouveau magasin de clés. Si vous avez déjà un magasin de clés, passez à l'étape 4.


3- Dans la fenêtre New Key Store, fournissez les informations requises, comme indiqué dans la figure. Votre clé doit être valide pendant au moins 25 ans pour que vous puissiez signer les mises à jour de l'application avec la même clé tout au long de sa durée de vie.

enter image description here

4- Dans la fenêtre Generate Signed APK Wizard, sélectionnez un magasin de clés, une clé privée et entrez les mots de passe des deux. Puis cliquez sur Suivant.enter image description here

5- Dans la fenêtre suivante, sélectionnez une destination pour le fichier APK signé et cliquez sur Terminer. enter image description here

référance

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

134
mustafasevgi

J'étais fou de chercher comment générer un fichier .keystore en utilisant dans le shell une commande à ligne unique , afin de pouvoir l'exécuter à partir d'une autre application. Ceci est le chemin:

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 est un identifiant unique pour l'application dans le fichier .keystore.

    • cn nom complet de la personne ou de l'organisation qui génère le .keystore
    • ou Unité organisationnelle qui crée le projet, c'est une sous-division de l'organisation qui le crée. Ex. Android.google.com
    • o Propriétaire de l'ensemble du projet. Son une portée supérieure à ou . Ex .: google.com
    • c Code abrégé du pays. Ex: Pour les États-Unis, c'est "US"
  • alias Identifiant de l'application en tant qu'entité unique dans le fichier .keystore (il peut en avoir plusieurs)

  • keypass Mot de passe pour protéger cet alias spécifique.
  • keystore Chemin où le fichier . keystore doit être créé (l'extension standard est en fait .ks)
  • storepass Mot de passe pour la protection du contenu entier . keystore .
  • Validité Nombre de jours pendant lesquels l'application sera valide avec ceci . keystore

Cela a très bien fonctionné pour moi, il ne demande rien d’autre dans la console, il crée simplement le fichier. Pour plus d'informations, voir keytool - Outil de gestion des clés et des certificats .

85
EliuX

Créez un fichier de clés à partir de la ligne de commande:

  1. Ouvrir la ligne de commande:

    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. Entrer> Il vous demandera un mot de passe> entrer le mot de passe (il sera invisible)

    Enter keystore password:
    Re-enter new password:
    
  3. Entrez> Il vous demandera votre détail.

    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. Entrer> Entrer Y

    Is CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91 correct?
    [no]:  Y
    
  5. Entrez> Entrez le mot de passe à nouveau.

    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:
    

[Stocker C: /index.keystore]

  1. Et vous êtes fait !!!

Exporter dans Eclipse:

Exportez votre package Android vers .apk avec votre fichier de clés créé

  1. Cliquez avec le bouton droit sur le package que vous souhaitez exporter et sélectionnez Exporter. enter image description here

  2. Sélectionnez Exporter une application Android> Suivant. enter image description here

  3. Prochain
    enter image description here

  4. Sélectionnez Utiliser le magasin de clés existant> Parcourir le fichier .keystore> entrez le mot de passe> Suivant enter image description here

  5. Sélectionnez Alias> Entrez le mot de passe> Suivant enter image description here

  6. Parcourir la destination APK> Terminer enter image description here

Dans Android Studio:

Créer le magasin de clés [.keystore/.jks] in studio ...

  1. Cliquez sur pour créer (ALT + B) > générer l'APK signé ... .
    enter image description here

  2. Cliquez sur Créer nouveau .. (ALT + C)
    enter image description here

  3. Parcourir le chemin d'accès au magasin de clés (SHIFT + ENTREE)> Sélectionner le chemin> Entrer le nom> OKenter image description here

  4. Remplissez les détails concernant votre fichier .jks/keystore enter image description here

  5. Prochain
    enter image description here

  6. Votre dossier
    enter image description here

  7. Entrez le mot de passe Studio Master (vous pouvez le réinitialiser si vous ne le savez pas) > OK enter image description here

  8. Sélectionnez * Dossier de destination *> Type de construction

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

    Cliquez sur Terminer

    enter image description here

Terminé !!!

64
Iamat8

Ce tutoriel:

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

m'a été très utile la première fois que j'ai dû créer un magasin de clés. C'est simple mais les instructions sur developer.Android.com sont un peu trop brèves.

La partie sur laquelle je ne savais pas exactement était où enregistrer et quel nom attribuer au fichier .

Il semble que peu importe où vous le mettez, assurez-vous de le garder en sécurité et de conserver un certain nombre de sauvegardes. Je viens de le mettre dans mon répertoire d'applications

Nommez le fichier "quelque chose.keystore" où quelque chose peut être ce que vous voulez. J'ai utilisé app_name.keystore , où app_name était le nom de mon application. .

La partie suivante consistait à nommer l'alias. Encore une fois, cela ne semble pas avoir d'importance alors encore une fois, je viens d'utiliser à nouveau le app_name . Gardez les mots de passe identiques à ceux que vous utilisiez auparavant. Remplissez le reste des champs et vous avez terminé.

28
birdman

J'ai suivi ce guide pour créer le magasin de clés de débogage.

La commande est:

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

Utilisez cette commande pour créer debug.keystore

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

La première chose à savoir est de savoir si vous êtes en mode Debug ou Release. Depuis le site du développeur "Il existe deux modes de construction: le mode débogage et le mode publication. Vous utilisez le mode débogage lorsque vous développez et testez votre application. Vous utilisez le mode édition pour créer une version publiée de votre application que vous pouvez distribuer directement. aux utilisateurs ou publier sur un marché d'applications tel que Google Play. "

Si vous êtes en mode débogage, procédez comme suit ...
UNE. Terminal ouvert et tapez:

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

Remarque: pour Eclipse, le fichier de clés de débogage se trouve généralement dans ~/.Android/debug.keystore ...

B. lorsque vous êtes invité à entrer un mot de passe, entrez simplement "Android" ...

C. Si vous êtes en mode Release, suivez les instructions sur ...

http://developer.Android.com/tools/publishing/app-signing.html <- ce lien explique à peu près tout ce que vous devez savoir.

4
ShowLove

Vous pouvez créer votre magasin de clés en exportant un fichier APK signé. Lorsque vous essayez d'exporter/de créer un fichier APK signé, il vous demandera un fichier de clés.

Vous pouvez choisir votre magasin de clés existant ou vous pouvez facilement en créer un en cliquant sur créer un nouveau magasin de clés.

Voici un lien très utile et bien expliqué sur la façon de créer votre magasin de clés et de générer un APK signé

Ce lien explique comment le faire avec Android Studio, mais si je me souviens bien, c'est assez similaire sur Eclipse

SURVEILLER

Une fois que vous avez généré votre magasin de clés, conservez-le en lieu sûr car vous en aurez besoin pour régénérer un nouveau fichier APK signé.

Comment exporter un projet dans le studio Android?

2
Hugo

Je voudrais suggérer la manière automatique avec gradle seulement

** Définissez également au moins un paramètre supplémentaire pour le magasin de clés dans la dernière commande, par exemple. pays '-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
}

Cela générera un fichier de clés sur la synchronisation et la construction du projet.

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