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?
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?
Réponses:
C'est au même endroit: ~/.android/debug.keystore
Si vous utilisez Windows, l'emplacement est probablement le suivant:
C: \ User \ YourUser \ .android \ debug.keystore
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 Structure
et attribuer des Signing
fichiers 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.properties
fichier.
(exemple pour Windows)
yourprojectname.properties=c:\\Users\\<username>\\signing\\yourprojectname.properties
3) Créez un yourprojectname.properties
fichier à 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.build
fichier pour qu'il pointe vers yourprojectname.properties
fichier 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 if
condition où la props
variable 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 .
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
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.
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