В чем разница между «debug.keystore» и «release.keystore» в Android?

Недавно я работал с Android Maps V2. Я наткнулся на debug.keystore и release.keystore . В чем разница между ними? Почему мы должны использовать оба?

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

Существует два режима сборки: режим отладки и режим выпуска .

Вы используете режим отладки при разработке и тестировании своего приложения.

Вы используете режим выпуска, когда хотите создать версию своего приложения, которую вы можете распространять непосредственно пользователям или публиковать на рынке приложений, таких как Google Play.

Когда вы создаете режим отладки, инструменты сборки SDK для Android используют утилиту Keytool (включенную в JDK) для создания отладочного ключа. Поскольку инструменты сборки SDK создали ключ отладки, они знают псевдоним и пароль отладочного ключа. Каждый раз, когда вы компилируете приложение в режиме отладки, инструменты сборки используют ключ отладки вместе с утилитой Jarsigner (также включенной в JDK) для подписи файла .apk вашего приложения. Поскольку псевдоним и пароль известны инструментам сборки SDK, при каждом компиляции инструментам не нужно запрашивать псевдоним и пароль отладочного ключа.

Когда вы создаете режим выпуска, вы используете свой собственный закрытый ключ для подписания вашего приложения. Если у вас нет закрытого ключа, вы можете использовать утилиту Keytool, чтобы создать ее для вас. Когда вы компилируете приложение в режиме выпуска, инструменты сборки используют ваш закрытый ключ вместе с утилитой Jarsigner для подписи файла .apk вашего приложения. Поскольку используемый вами сертификат и закрытый ключ являются вашими, вы должны указать пароль для хранилища ключей и ключевого псевдонима.

Процесс подписи отладки происходит автоматически при запуске или отладке приложения с помощью Eclipse с помощью плагина ADT. Подписание отладки также происходит автоматически, когда вы используете скрипт сборки Ant с опцией debug. Вы можете автоматизировать процесс подписания выпуска с помощью мастера экспорта Eclipse или путем изменения сценария сборки и сборки Ant с помощью опции release.

РЕДАКТИРОВАТЬ

Для подписания приложения для Android с Android-студией см. Здесь

http://developer.android.com/tools/publishing/app-signing.html#releasemode

  • Debug.keystore предназначен только для разработки и тестирования, поэтому при использовании этого приложения вы не сможете выпустить свое приложение в Google Play .

    Внимание: вы не можете отпустить ваше приложение публике при подписании с сертификатом отладки.

  • Release.keystore требуется только в том случае, если вы хотите опубликовать свое приложение в Google Play.
    Для получения дополнительной информации см. Подпись ваших приложений , подраздел « Подписание в режиме деблокирования» .

Вы можете работать над разработкой приложения для Android с помощью debug.keystore . Для release.keystore будет доступно приложение release.keystore , когда ваше приложение будет готово к отправке в качестве приложения в Play Маркете.

Вы не можете публиковать свое приложение в Google Play с помощью debug.keystore , и пользователи не смогут загрузить ваше приложение.

Debug.keystore используется во время разработки, где в качестве release.keystore будет использоваться при выпуске продукта … link

Debug.keystore используется для создания ключа Google Map API V2 для цели отладки. Release.keystore используется для создания ключа карты перед загрузкой приложения в Google Play.

Debug.keystore вы вызываете для целей тестирования для разработчиков, потому что он содержит псевдоним по умолчанию и пароль по умолчанию, а также используя это, вы не можете публиковать свое приложение в магазине воспроизведения.

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

Дополнительные сведения см. В разделе « Подписывание ваших приложений» .