Android Studio - Déboguer le keystore

107

Android Studio signe-t-il les versions de débogage? Si tel est le cas, où se trouve le fichier de clés utilisé pour le faire?

fasteque
la source
1
Il signe quand même car seules les versions signées peuvent être installées.
Alexander Kulyakhtin
3
Je pense que c'est une question de programmation valable. Cela concerne directement la chaîne d'outils utilisée lors du développement d'applications Android.
Austyn Mahoney
@Prachi comment cela peut-il être le double d'une question posée plus de 3 ans plus tard? Peut-être que c'est l'autre une copie de ceci.
fasteque

Réponses:

179

C'est au même endroit: ~/.android/debug.keystore

user2396466
la source
5
N'est-ce pas plutôt dans ~ / .android?
Eugene Mymrin
14
keytool -list -v -keystore ~ ​​/ .android / debug.keystore
jturolla
5
Voici la version Windows de la commande keytool: keytool -exportcert -alias androiddebugkey -keystore C: \ Users \ <User> \ .android \ debug.keystore -list -v
Simon
12
Le mot de passe par défaut est "android" et l'alias de clé est "androiddebugkey".
naXa
1
Et le mot de passe par défaut pour androiddebugkey est également "android".
kibitzerCZ
64

Si vous utilisez Windows, l'emplacement est probablement le suivant:

C: \ User \ YourUser \ .android \ debug.keystore

Fernando JS
la source
30

Vous pouvez spécifier votre propre keystore de débogage si vous le souhaitez. Cette solution vous donne également la possibilité de stocker vos clés en dehors du répertoire du projet et de profiter de l'automatisation du processus de signature. Oui, vous pouvez accéder File -> Project Structureet attribuer des Signingfichiers de clés et des mots de passe de signature dans l' onglet, mais cela placera des entrées en texte clair dans votre fichier gradle.build, ce qui signifie que vos secrets pourraient être divulgués (en particulier dans les validations de référentiel). Avec cette solution, vous obtenez le contrôle de l'utilisation de votre propre keystore et la magie de l'automatisation pendant les versions de débogage et de publication.

1) Créez un gradle.properties (si vous n'en avez pas déjà un).

L'emplacement de ce fichier dépend de votre système d'exploitation:

   /home/<username>/.gradle/ (Linux)
   /Users/<username>/.gradle/ (Mac)
   C:\Users\<username>\.gradle (Windows)

2) Ajoutez une entrée pointant vers le yourprojectname.propertiesfichier. (exemple pour Windows)

yourprojectname.properties=c:\\Users\\<username>\\signing\\yourprojectname.properties

3) Créez un yourprojectname.propertiesfichier à l'emplacement que vous avez spécifié à l'étape 2 avec les informations suivantes:

keystore=C:\\path\\to\\keystore\\yourapps.keystore
keystore.password=your_secret_password

4) Modifiez votre gradle.buildfichier pour qu'il pointe vers yourprojectname.propertiesfichier pour utiliser les variables.

if(project.hasProperty("yourprojectname.properties")
        && new File(project.property("yourprojectname.properties")).exists()) {

    Properties props = new Properties()
    props.load(new FileInputStream(file(project.property("yourprojectname.properties"))))

    android {
        signingConfigs {
            release {
                keyAlias 'release'
                keyPassword props['keystore.password']
                storeFile file(props['keystore'])
                storePassword props['keystore.password']
            }
            debug {
                keyAlias 'debug'
                keyPassword props['keystore.password']
                storeFile file(props['keystore'])
                storePassword props['keystore.password']
            }
        }
        compileSdkVersion 19
        buildToolsVersion "20.0.0"
        defaultConfig {
            applicationId "your.project.app"
            minSdkVersion 16
            targetSdkVersion 17
        }
        buildTypes {
            release {
            }
        }
    }

}

dependencies {
    ...
}

5) Profitez-en! Maintenant, toutes vos clés seront en dehors de la racine du répertoire et pourtant vous avez toujours les joies de l'automatisation pour chaque build.

Si vous obtenez une erreur dans votre fichier gradle.build à propos de la variable "props", c'est parce que vous n'exécutez pas le bloc "android {}" à l'intérieur de la toute première ifcondition où la propsvariable est affectée, alors déplacez simplement l'android {... } dans la condition dans laquelle la variable props est affectée, puis réessayez.

J'ai reconstitué ces étapes à partir des informations trouvées ici et ici .

Max Worg
la source
1
Concernant "2) Ajouter une entrée ...". Ajouter une entrée dans où?
VikingGlen
adore l'idée de l'automatisation de la construction
Khurram Shehzad
Merci, c'est un excellent moyen de garder les mots de passe de production hors du contrôle des sources (afin qu'ils ne soient pas disponibles pour tous les développeurs)!
sham
15

Le chemin du fichier debug.keystore d'Android Studio dépend de la variable d'environnement ANDROID_SDK_HOME.

Si ANDROID_SDK_HOME est défini, le fichier est placé dans le sous-dossier du SDK nommé .android .
Lorsqu'il n'est pas défini, le keystore est placé au chemin d'accès personnel de l'utilisateur dans le même sous-dossier:
- % HOMEPATH% \. Android \ sous Windows
- $ HOME / .android / sous Linux

Spatz
la source
1
Pourriez-vous s'il vous plaît préciser votre réponse en ajoutant un peu plus de description de la solution que vous fournissez?
abarisone
pourquoi 87 personnes pensent que c'est dans ~ / .android / debug.keystore, ils n'ont pas tous une variable d'environnement nommée "ANDROID_SDK_HOME" ???
IloveIniesta
Cela a été très utile. Merci beaucoup
Rahul
4

Voici comment j'ai finalement créé le fichier ~ / .android / debug.keystore.

Tout d'abord un peu de contexte. J'ai un nouvel ordinateur portable de voyage. Installé Android Studio. Cloné mon projet Android à partir de git hub. Le projet ne fonctionnerait pas. Finalement compris que le debug.keystore n'a pas été créé ... et je ne pouvais pas comprendre comment obtenir Android Studio pour le créer.

Enfin, j'ai créé un nouveau projet vierge ... et cela a créé le debug.keystore!

J'espère que cela aide les autres qui ont ce problème.

Loren
la source
1

Sur Mac, vous le trouverez ici: /Users/$username/.android

Ruchita
la source
1

Si vous utilisez Windows, vous le trouverez comme suit: Fichier -> Structure du projet -> Facettes

choisissez votre projet Android et dans la fenêtre "Facet 'Android'" cliquez sur TAB "Packaging", vous trouverez ce que vous voulez

万 文 龙
la source
2
Il n'y a pas de menu tel que 'Facettes'
IgorGanapolsky