Android Studio-отладка хранилища ключей



подписывает ли Android Studio отладочные сборки? Если да, то где находится хранилище ключей, которое он использует для этого?

884   7  

7 ответов:

это в том же месте: ~/.android/debug.keystore

Если вы используете Windows, вероятно, расположение выглядит так:

C:\User\YourUser\.android\debug.хранилища ключей

вы можете указать свое собственное хранилище ключей отладки, если хотите. Это решение также дает вам возможность хранить ваши ключи за пределами каталога проекта, а также пользоваться автоматизацией в процессе подписания. Да вы можете пойти в File -> Project Structure и назначить подписи хранилища ключей и пароли в Signing tab, но это поместит текстовые записи в ваш gradle.создайте файл, который означает, что ваши секреты могут быть раскрыты (особенно в коммитах репозитория). С помощью этого решения вы получаете контроль над использованием вашего собственное хранилище ключей и магия автоматизации во время отладки и выпуска сборок.

1)создать gradle.свойства (если у вас их еще нет).

расположение этого файла зависит от вашей ОС:

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

2) Добавить запись, указывающую на . (пример для Windows)

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

3) создать yourprojectname.properties файл в расположении, указанном на Шаге 2, со следующими параметрами информация:

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

4) изменить свой указать yourprojectname.properties файл для использования переменных.

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) наслаждайтесь! теперь все ваши ключи будут находиться вне корня каталога, и все же у вас все еще есть радости автоматизации для каждой сборки.

если вы получаете сообщение об ошибке в вашем gradle.построить файл о переменной" props " это потому, что вы не выполняете блок "android {}" внутри самый первый if состояние, когда props переменная присваивается, поэтому просто переместите весь android{ ... } раздел в условие, в котором присваивается переменная props, затем повторите попытку.

я собрал эти шаги вместе с найденной информации здесь и здесь.

Android Studio debug.путь к файлу хранилища ключей зависит от переменной окружения ANDROID_SDK_HOME.

Если android_sdk_home определен, то файл помещается в подпапку SDK с именем .android .
Если не определено, то keystore помещается на домашний путь пользователя в той же подпапке:
- %HOMEPATH%\.android\ на Windows
- $HOME/.android/ на Linux

вот как я, наконец, создал ~/.андроид/отладки.файл хранилища ключей.

первую очередь. У меня новый ноутбук для путешествий. Установлена Android Studio. Клонировал мой android-проект из Git hub. Проект не будет запущен. Наконец-то разобрался, что такое отладка.хранилище ключей не было создано ... и я не мог понять, как заставить Android Studio создать его.

наконец, я создал новый пустой проект ... и это создало отладку.хранилище ключей!

надеюсь, это поможет другие, у кого есть эта проблема.

на Mac, вы найдете его здесь:/Users/$username/.android

Если вы используете Windows, вы найдете его следующим образом: Файл-- > Структура Проекта-->Фасеты

выберите свой проект Android и в окне" фасет "Android" нажмите вкладку "упаковка", вы найдете то, что хотите

Comments

    Ничего не найдено.