Чи будується налагодження знаків Android Studio? Якщо так, то де це магазин ключів, який він використовує для цього?
Чи будується налагодження знаків Android Studio? Якщо так, то де це магазин ключів, який він використовує для цього?
Відповіді:
Це в одному місці: ~/.android/debug.keystore
Якщо ви використовуєте Windows, можливо, розташування виглядає так:
C: \ User \ YourUser \ .android \ debug.keystore
За бажанням можна вказати власний магазин ключів налагодження. Це рішення також дає можливість зберігати ваші ключі поза каталогом проектів, а також насолоджуватися автоматизацією в процесі підписання. Так, ви можете перейти до 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 {... } в умові, в якому призначена змінна реквізиту, потім спробуйте ще раз.
Я зібрав ці кроки разом із інформації, знайденої тут і тут .
Шлях файлу Android debug.keystore для файлу Android Studio залежить від змінної середовища ANDROID_SDK_HOME.
Якщо визначено ANDROID_SDK_HOME, файл розміщується у підпапці SDK під назвою .android .
Якщо це не визначено, то клавіша зберігання розміщується на домашньому шляху користувача в тій самій папці:
- % HOMEPATH% \. Android \ у Windows
- $ HOME / .android / у Linux
Ось як я нарешті створив файл ~ / .android / debug.keystore.
Спочатку деяке тло. Я придбав новий ноутбук для подорожей. Встановлено Android Studio. Клонував мій андроїд-проект із git hub. Проект не запускався. Нарешті з'ясував, що debug.keystore не створений ... і я не міг зрозуміти, як отримати Android Studio для його створення.
Нарешті, я створив новий порожній проект ... і це створило debug.keystore!
Сподіваюся, це допомагає іншим, хто має цю проблему.
Якщо ви використовуєте Windows, ви побачите, що слідувати цьому: Файл -> Структура проекту -> Грані
вибрав проект Android, і у вікні "Фасетка Android" натисніть TAB "Упаковка", ви знайдете те, що хочете