web-dev-qa-db-fra.com

Android Studio - magasin de clés de débogage

Est-ce que Android Studio Sign crée un débogage? Si tel est le cas, où se trouve le fichier de clés qu'il utilise pour le faire?

104
fasteque

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

177
user2396466

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

C:\Utilisateur\VotreUtilisateur\.Android\debug.keystore

63
Fernando JS

Vous pouvez spécifier votre propre magasin de clés de débogage si vous le souhaitez. Cette solution vous offre également la possibilité de stocker vos clés en dehors du répertoire du projet et de bénéficier d'une automatisation du processus de signature. Oui, vous pouvez aller à File -> Project Structure et attribuer des fichiers de clés de signature et des mots de passe dans l'onglet Signing, mais cela mettra des entrées en texte clair dans votre fichier gradle.build, ce qui signifie que vos secrets pourraient être divulgués (notamment dans les commits de référentiel). Avec cette solution, vous maîtrisez l'utilisation de votre propre magasin de clés et la magie de l'automatisation lors des versions de débogage et de publication.

1) Créez un fichier 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 sur le fichier yourprojectname.properties. (exemple pour Windows)

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

3) Créez le fichier yourprojectname.properties à 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 fichier gradle.build pour qu'il pointe vers le fichier yourprojectname.properties afin de pouvoir 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) Amusez-vous bien! Toutes vos clés se trouvent maintenant en dehors de la racine du répertoire et vous disposez toujours des joies de l'automatisation pour chaque construction.

Si vous rencontrez une erreur dans votre fichier gradle.build à propos de la variable "props", c'est que vous n'exécutez pas le bloc "Android {}" dans la toute première condition if à laquelle la variable props est affectée. il suffit donc de déplacer toute la section 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 .

29
Max Worg

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 .
S'il n'est pas défini, le fichier de clés est placé dans le chemin d'accès de l'utilisateur dans le même sous-dossier:
% HOMEPATH% \. Android \ sous Windows
$ HOME/.Android / sur Linux

15
Spatz

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

D'abord un peu de fond J'ai un nouvel ordinateur portable de voyage. Installé Android Studio. Cloné mon projet Android à partir de git hub. Le projet ne fonctionnerait pas. Enfin découvert 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 qui a créé le debug.keystore!

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

2
Loren

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

1
Ruchita

Si vous utilisez Windows, vous constaterez qu'il suit: Fichier -> Structure du projet -> Facettes

choisissez votre projet Android et dans la fenêtre "Facette 'Android'", cliquez sur l'onglet "Emballage" pour trouver ce que vous voulez.

1
万文龙