Что эквивалентно Eclipse «Custom debug Keystore» в студии Android?

Когда я работаю с API Карт Google, я привык работать с настраиваемым ключом отладки в Eclipse (это фактически мой производственный ключ)

Эта манипуляция позволила мне использовать тот же ключ API для Карт и большинства сервисов Google Play (в биллинге приложений) в моей отладочной и выпускной сборке.

Это было действительно удобно, потому что не было необходимости менять ключ в манифесте.

Введите описание изображения здесь

К сожалению, при переходе на Android Studio я пропускаю эту функцию.

Любая идея, где я могу найти этот вариант?

Спасибо большое.

Solutions Collecting From Web of "Что эквивалентно Eclipse «Custom debug Keystore» в студии Android?"

Вы определяете хранилище ключей в файле build.gradle. См. Раздел «Конфигурации подписи»: http://tools.android.com/tech-docs/new-build-system/user-guide

В вашем случае вы хотите переопределить хранилище ключей для варианта отладки:

android { signingConfigs { debug { storeFile file("your.keystore") } } } 

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

В недавнем Android Studio 0.8.9 вы найдете это в лучшем месте:

  File->Project Structure 
  1. Добавление хранилища ключей на вкладке «Подписание»
  2. Выберите его для отладки / выпуска «Типы сборки».
  3. Убедитесь, что имя псевдонима совпадает с вашим хранилищем ключей (keytool -list -v показывает ваше имя псевдонима)

Он создает материал градиента, автоматически синхронизируется на «Применить» и сразу срабатывает, как шарм.

Привет. Если вы не хотите использовать жесткий код для всего этого, тогда выполните следующие шаги:

 ->Your project ->Your Module ->Right click on your module ->go to open module settings ->Go to Signing section ->Specify all the attribute here and browse your Custom debug key in Store File 

Затем вы найдете ниже код, который будет автоматически создаваться в студии android в build.gradle

 signingConfigs { debug { storeFile file('custom_debug_keystore') keyAlias 'androiddebugkey' keyPassword 'android' storePassword 'android' } } 

Заметка:

1) Пожалуйста, не используйте .keystore в коде, который вы вручную используете для ручной настройки

2) Пожалуйста, укажите правильный псевдоним и пароль

Вот полный шаг за шагом, который я взял, чтобы перенести оба моих ключа из файла 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 так что просто переместите весь андроид {. ..} в состояние, в котором назначена переменная реквизита, затем повторите попытку.

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

Вы можете указать debug.keystore для своего проекта самостоятельно .
Два шага со следующими изображениями: (Android Studio v0.5.2 )
Шаг 1 : Нажмите кнопку project structure . Шаг 1

Шаг 2 : Добавьте debug.keystore следующим образом. Введите описание изображения здесь

Кейстохранилище должно быть в файле build.gradle, например:

 android{ signingConfigs { release { storeFile file('/path/platform.keystore') storePassword 'android' keyAlias 'androiddebugkey' keyPassword 'android' } } ... buildTypes { release { signingConfig signingConfigs.release } } 

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

Если вы знаете пароль, но вы не уверены в псевдониме, вы также можете запустить следующую команду, чтобы получить псевдоним: keytool -list -keystore /path/platform.keystore link

Как указано, вы можете использовать файл gradle для его указания. Я также нашел очень удобным использовать домашнюю папку как часть пути. Это облегчает работу в команде. Вот мое предложение:

 android { signingConfigs { debug { storeFile file(System.properties['user.home']+"/.android/custom.debug.keystore") } } }