2012-01-26 3 views
3

Я просто удалил свой Debug.keystore, потому что приложение отображало ошибку в файле проекта, которую я не смог найти. После удаления трассировки мое приложение прекрасно работает, за исключением того факта, что карта вообще не отображается - только пустые серые прямоугольники, которые предшествуют загрузке карты.Новый ключ отладки Debug означает новый ключ API карты?

Означает ли это, что мне нужно получить новый ключ API карты, поскольку изменилась подпись приложения?

P.S. Приложение работало нормально до этого поэтому я все необходимых использования библиотеки разрешений и т.д.

Благодарность

EDIT

Через некоторой слежки о я ответил на мой собственный вопрос, но когда я пытался получить новый ключ API говорит мне, что файл Keystore не существует. Я думал, что когда он удаляется, другой восстанавливается/воссоздается автоматически. Что дает?

+0

Да, это означает, что вам нужен новый ключ API Карт Google – NickT

+0

Aleks G простите меня, если я забуду, как работает сайт, также если вы не хотите дать хотя бы конструктивный ответ, тогда не беспокойтесь, давая его все. – Katana24

+0

Да, пожалуйста, примите ответ - если вы ответили на свой вопрос, то опубликуйте его как ответ вместо комментария и примите это :) –

ответ

4

Существует хранилище отладки и хранилище ключей для вашего подписанного приложения. Файл хранилища ключей находится в скрытом каталоге .android (на Mac, внутри каталога пользователя).

Карты Google работают только с подписью APK. Тогда хранилище отладки не имеет значения.

Создайте подписанный APK. Сделайте очень, очень уверенным сделать резервные копии того хранилища ключей, которое вы создаете для этого APK; вы не можете публиковать обновления на Android Market, если они не подписаны с использованием одного и того же хранилища ключей.

Создайте свой хэш из этого файла хранилища ключей, получите свой ключ API и используйте его в приложении.

Даже тогда, если вы просто запустите свое приложение прямо из Eclipse, вы не увидите карту, только серая область ... вы должны загрузить подписанный APK на свой телефон, установить с него, а затем он должен работать , Надеюсь это поможет!

+0

Вы имеете в виду, что каждое приложение наследует конкретную подпись пользователей - эта подпись хранится в хранилище ключей для приложения и необходима для ее запуска на обоих устройствах и эмуляторах В то время как хранилище отладки используется только для целей отладки, хранилище ключей используется для создания ключа API карт Google при передаче в java. – Katana24

+1

«Карты Google работают только с SIGNED APK. Отказоустойчивое хранилище данных тогда не имеет значения. "<- Я думаю, что это неверно. См. Следующее: http://code.google.com/android/add-ons/google-apis/mapkey.html#getdebugfingerprint Вы можете получить ключ API Карт Google для своего сертификата отладки, используя эту процедуру, чтобы корректно загружать плитки карты в сборке отладки. – StephenT

+0

Хорошая уловка, Стивен. Я не знал об этом. Для меня это меньше проблем. генерируйте ключ API один раз, а затем просто упакуйте подписанный APK, но хорошо знать, что могут быть созданы отдельные ключи API отладки. –

1

Означает ли это, что я должен получить новый ключ API карты, потому что изменилась подпись приложения?

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

После некоторого отслеживания я ответил на свой вопрос, но когда я попытался получить новый ключ API, он сообщил мне, что файл Keystore не существует. Я думал, что когда он удаляется, другой восстанавливается/воссоздается автоматически.

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

+0

Где я должен смотреть тогда - в скрытом .android файл под именем пользователя? Или в android.sdk, видимый, в местоположении пользователя? – Katana24

+0

@ Katana24: «Где я должен смотреть тогда - в скрытом.Android-файл под именем пользователя? »- это, безусловно, то, что я ожидал бы найти. Если вы используете Eclipse, то место его отладки, которое оно использует, можно найти в разделе« Настройки »| Android | Build. – CommonsWare

+0

Приветствия для информации CommonsWare. нашел то, что я хотел, и мне удалось создать новый ключ API карты: D – Katana24

Смежные вопросы