Je n'ai jamais défini de mots de passe pour mon magasin de clés et mon alias, alors comment sont-ils créés?

137

Au fur et à mesure que je parcourais certains articles sur Internet pour en savoir plus sur la signature de votre application Android , j'ai reçu des articles comme comment signer l'application et quelque chose sur la question de savoir si vous avez perdu votre fichier de clés ou votre mot de passe.

La question que je suis ici pour vous poser est la suivante: je n'ai jamais créé de keystore, ni son alias, ni son mot de passe, alors comment diable puis-je l'oublier?

Je sais que pour Android, nous utilisons le mot de passe android , donc, si le mot de passe est par défaut Android, comment peut-on l'oublier? (Je suis sûr qu'il doit y avoir une autre façon de créer de nouveaux keystores).

Enfin, si android est le mot de passe par défaut, quel est l'alias par défaut?

Anas Azeem
la source

Réponses:

409

Signature en mode débogage

Les outils de création Android fournissent un mode de signature de débogage qui vous permet de développer et de déboguer plus facilement votre application, tout en répondant aux exigences du système Android pour la signature de votre APK. Lorsque vous utilisez le mode débogage pour créer votre application, les outils du SDK invoquent Keytool pour créer automatiquement un magasin de clés et une clé de débogage. Cette clé de débogage est ensuite utilisée pour signer automatiquement l'APK, vous n'avez donc pas besoin de signer le package avec votre propre clé.

Les outils SDK créent le keystore / clé de débogage avec des noms / mots de passe prédéterminés:

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

Si nécessaire, vous pouvez modifier l'emplacement / le nom du fichier de clés / clé de débogage ou fournir un fichier / clé de débogage personnalisé à utiliser. Cependant, tout fichier de clés / clé de débogage personnalisé doit utiliser les mêmes noms et mots de passe de fichier de clés / clé que la clé de débogage par défaut (comme décrit ci-dessus). (Pour ce faire dans Eclipse / ADT, accédez à Windows> Préférences> Android> Build .)

Attention: vous ne pouvez pas publier votre application au public lorsqu'elle est signée avec le certificat de débogage.

Source: Developer.Android

Communauté
la source
C'était très instructif. L'accepter comme réponse. Encore une question monsieur. Un fichier de clés unique a-t-il plusieurs clés ou le fichier de clés et la clé sont-ils la même chose?
Anas Azeem
Un magasin de clés peut avoir de nombreuses clés et vous devrez créer un alias différent pour les clés. Je pense que maintenant, la différence entre la clé et le magasin de clés est claire. Keystore est un conteneur de clés
Je l'ai utilisé pour signer un apk non signé que je ne pouvais pas installer: jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~ ​​/ .android / debug.keystore my_unsigned.apk androiddebugkey Merci
Ivan Morgillo
@ user2730944 Pourriez-vous s'il vous plaît, célébrer la façon dont vous découvrez quel mot de passe est "Android", à partir de la source que vous avez fournie qui n'est pas évidente?
spin_eight
22

si vous voulez les configurer en gradle, cela devrait ressembler à

signingConfigs {
        debug {
            storeFile file('PATH_TO_HOME/.android/debug.keystore')
            storePassword 'android'                   
            keyAlias 'AndroidDebugKey'
            keyPassword 'android'                     
        }
        ...
}
Même Cheng
la source
3

lorsque nous exécutons l'application dans eclipse apk generate, c'est le signe par défaut Keystore qui est fourni par Android.

Mais si vous souhaitez télécharger votre application sur le Play Store, vous devez créer votre propre keystore. Eclipse fournit déjà une interface graphique pour créer un nouveau keystore. Et vous pouvez également créer un keystore via la ligne de commande.

l'alias par défaut est

androiddebugkey
Biraj Zalavadia
la source
Merci pour votre réponse, mais toute idée du mot de passe de la clé, puisque le mot de passe du keystore était "android" (si je ne me trompe pas)
Anas Azeem
@AnasAzeem voir ma réponse
3
Keystore name: "debug.keystore"

Keystore password: "android"

Key alias: "androiddebugkey"

Key password: "android"

J'utilise ces informations et génère avec succès l'APK signé.

Rubel Hasan
la source
2

Mieux que toutes les options, vous pouvez définir votre signingConfigégal à votre debug.signingConfig. Pour ce faire, il vous suffit de faire ce qui suit:

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

Avec cela, vous n'aurez pas besoin de savoir où se debug.keystoretrouve, l'application fonctionnera pour toute l'équipe, même si quelqu'un utilise un environnement différent.

brunodles
la source
Excellent! C'est la manière concise de rendre installable un type de build debugProguard.
Jerry101 le
1

Toutes ces réponses et il en manque encore une. Lorsque vous créez votre identifiant d'authentification dans la section API Google de la console de développement, assurez-vous (surtout s'il s'agit de votre premier) que vous avez cliqué sur l'option «écran de consentement». Si vous n'avez pas le «titre» et tout autre champ obligatoire rempli, l'appel échouera avec cette option.

user1318747
la source