Android Studio – Запуск подписанного apk на эмуляторе

Это может показаться чрезвычайно тривиальным, но, будучи новичком в андроиде, я просто нашел себя погребенным под тонну хешей, то есть кейсторов и клавишных инструментов, которые могут быть немного подавляющими.

Я пытаюсь сделать студию андроида запустить мое приложение на эмулятор, подписанный с моим пользовательским хранилищем ключей, а не debug.keystore

Является ли это вариантом или мне просто нужно сгенерировать подписанный файл .apk каждый раз, когда я вношу изменения, а затем устанавливаю его через adb, а затем запускаю его из меню эмулируемого устройства?

Кроме того, это хорошая практика при тестировании приложений или я должен избегать этого?

После того, как вы столкнулись с проблемами при использовании пользовательского интерфейса Android Studio для создания конфига подписи, я успешно справился с его настройкой через файл сборки градации.

Откройте файл build.gradle. Он должен содержать что-то вроде этого:

android{ //signingConfigs goes here defaultConfig{ //SDK version, version code etc } //Some more stuff } 

Если он еще не существует, добавьте следующий фрагмент ниже android {

 signingConfigs { debug { storeFile file(project.property("MyApp.signing")) storePassword project.property("MyApp.signing.password") keyAlias project.property("MyApp.signing.alias") keyPassword project.property("MyApp.signing.password") } } 

Теперь в том же каталоге, где находится файл build.gradle, вы должны иметь файл gradle.properties (если нет, создайте его). Теперь мы добавим свойства, которые мы использовали выше, в файл свойств, чтобы сопоставить значения:

 MyApp.signing=RelativeOrAbsolutePathToKeystore MyApp.signing.password=yourPassword MyApp.signing.alias=aliasNameOfYourKeystore 

Пример, где файл keystore.jsk (сгенерированный через Android Studio) находится в одном каталоге над каталогом приложений (в котором находится файл свойств):

 MyApp.signing=../myapp.keystore.jsk MyApp.signing.password=helloworkd MyApp.signing.alias=myapp_alias 

Вышеприведенная конфигурация затем будет использовать ключ для подписи сборки отладки (потому что наш signConfigs был создан для сборки отладки).

Поэтому убедитесь, что в Android Studio установите вариант сборки для «отладки». Если вы хотите сделать все это для сборки сборки релиза, ваши варианты сборки должны быть выпущены, а ваш signConfigs выпустить {…} вместо debug {…} или просто добавить оба, если вы хотите переключиться между ними.

Вы можете просто добавить конфиг подписи к типу сборки отладки, и он будет использовать его. Вы можете сделать это через диалоговое окно «Структура проекта» – в своем модуле, выберите вкладку «Подпись» и настройте свою подпись, а затем на вкладке «Типы построения» для всплывающего окна «Подписывание» выберите ее.