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).
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
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.
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.
5- Dans la fenêtre suivante, sélectionnez une destination pour le fichier APK signé et cliquez sur Terminer.
http://developer.Android.com/tools/publishing/app-signing.html
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.
alias Identifiant de l'application en tant qu'entité unique dans le fichier .keystore (il peut en avoir plusieurs)
.ks
)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 .
Créez un fichier de clés à partir de la ligne de commande:
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]
Entrer> Il vous demandera un mot de passe> entrer le mot de passe (il sera invisible)
Enter keystore password:
Re-enter new password:
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
Entrer> Entrer Y
Is CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91 correct?
[no]: Y
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]
Exportez votre package Android vers .apk avec votre fichier de clés créé
Cliquez avec le bouton droit sur le package que vous souhaitez exporter et sélectionnez Exporter.
Sélectionnez Exporter une application Android> Suivant.
Prochain
Sélectionnez Utiliser le magasin de clés existant> Parcourir le fichier .keystore> entrez le mot de passe> Suivant
Créer le magasin de clés [.keystore/.jks]
in studio ...
Cliquez sur pour créer (ALT + B) > générer l'APK signé ... .
Cliquez sur Créer nouveau .. (ALT + C)
Parcourir le chemin d'accès au magasin de clés (SHIFT + ENTREE)> Sélectionner le chemin> Entrer le nom> OK
Remplissez les détails concernant votre fichier .jks/keystore
Prochain
Votre dossier
Entrez le mot de passe Studio Master (vous pouvez le réinitialiser si vous ne le savez pas) > OK
Sélectionnez * Dossier de destination *> Type de construction
release : for publish on app store
debug : for debugging your application
Cliquez sur Terminer
Terminé !!!
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é.
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
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"
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.
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é.
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