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

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

Ответ 1

Он находится в том же месте: ~/.android/debug.keystore

Ответ 2

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

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

Ответ 3

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

1) Создайте gradle.properties(если у вас его еще нет).

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

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

2) Добавьте запись, указывающую на файл yourprojectname.properties.  (пример для 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) Измените файл gradle.build, чтобы указать на файл 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.build о переменной "реквизит", потому что вы не выполняете блок "android {}" в самом первом if состоянии, где переменная props получает поэтому просто переместите весь раздел android {...} в условие, в котором назначена переменная реквизита, затем повторите попытку.

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

Ответ 4

Путь к файлу debug.keystore для Android Studio зависит от переменной среды ANDROID_SDK_HOME.

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

Ответ 5

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

Ответ 6

Если вы используете Windows, вы найдете следующее:    Файл → Структура проекта → Границы

выбрал ваш проект Android, а в окне "Facet" Android "нажмите" Таба "Табак", вы найдете то, что хотите.

Ответ 7

Вот как я наконец создал файл ~/.android/debug.keystore.

Сначала немного фона. У меня появился новый ноутбук для путешествий. Установлена ​​Android Studio. Клонировал мой проект андроида из концентратора git. Проект не будет работать. Наконец выяснилось, что debug.keystore не был создан... и я не мог понять, как заставить Android Studio создать его.

Наконец, я создал новый пустой проект... и создал файл debug.keystore!

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