2013-12-19 4 views
1

Я получил отпечаток пальца SHA-1 с помощью keytool для моего приложения на моем ключе, которое я подписываю приложением, когда я загружаю его в магазин воспроизведения.Google map report invalid key в Android

Но когда я открываю приложение на своем телефоне для тестирования, он говорит, что это не правильный ключ. ЛЮБЫЕ идеи, что я могу делать неправильно?

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

+0

Вы загрузили приложение из магазина или установили его из IDE? Я спрашиваю, потому что для каждого из них нужен другой ключ API, так как каждый из них использует другое хранилище ключей. Недавно пробовал, что мой debug.keystore изменился, что привело к сбою карт, поэтому мне пришлось обновить ключ из консоли Google API. Однако это не должно происходить с хранилищем ключей. – cYrixmorten

+0

Вы использовали имя пакета, указанное в файле манифеста Android для генерации ключа api? –

+0

Я установил приложение из студии Android, поэтому я могу его отладить. – Mike

ответ

2

Во-первых для развития генерации SHA-1 от отладки. хранилище ключей: Перейдите к C: \ Program Files \ Java \ jdk1.6.0 \ Bin> ..... где ваш ящик находится затем выполнить следующую команду

C:\Program Files\Java\jdk1.6.0\bin>keytool -v -list -alias androiddebugkey -keystore "D 
:debug.keystore" -storepass android -keypass android 
or 
C:\Program Files\Java\jdk1.6.0\bin>keytool -v -list -alias androiddebugkey -keystore "C:\Documents and Settings\user1\.android\debug.keystore" -storepass android -keypass android 

Теперь вы можете получить один SHA-1 сертификат и генерировать ключ API из API Google API единственный. Добавьте этот ключ в файл manifest.xml. помните этот ключ API только для разработки. Использование этого встроенного ключа apk u не может публиковаться на рынке.

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

C:\Program Files\Java\jdk1.6.0\bin>keytool -genkey -v -keystore OWN.keystor 
e -alias ALIASNAME -keyalg RSA -keysize 2048 -validity 300000 

и дать все необходимые детали для этого хранилища ключей. Теперь время для создания SHA-1 от вашего OWN.keystore выполнить ниже commnad

C:\Program Files\Java\jdk1.6.0\bin>keytool -v -list -alias ALIASNAME -keystore "C:\Program Files\Java\jdk1.6.0\bin\OWN.keystore" -storepass PASSWORD -keypass KEYPASSWORD 

Теперь вы можете получить один SHA-1 сертификат и сгенерировать ключ API из консоли API Google. Замените этот ключ в файле manifest.xml. Теперь ваше приложение готово к публикации на рынке.

Это может быть полезно для вас.

+0

Так как мне нужна разработка одна против не-разработки, если я просто подписываю свой пакет как обычно, установите apk вручную, я должен проверить его таким образом правильно? – Mike

+0

да, вы правы. но помните, что этот apk предназначен только для развития. –

+0

ahhh ok, поэтому я только что построил пакет и установил вручную, а затем нажал на андроид-студию, и это сработало! Поэтому, когда я загружаю в игровой магазин, это должно работать для моих пользователей, потому что это тот же самый apk. – Mike

0

Вы попробовали completely удалить приложение и установить его снова и снова. Этот ключ может быть кэширован и даже если вы установите приложение с новым ключом.

Прежде чем устанавливать приложение с помощью нового ключа, попробуйте полностью удалить приложение с телефона.

Также Вы можете перейти на этот пост в блоге я написал, и убедитесь, что вы делаете все шаги прямо в производстве ключ:

Google Maps API V2 Key

+0

изменяет ключ каждый раз, когда вы его устанавливаете? Я использую тот же ключ, который у меня был с момента моего запуска, я думал, что остался прежним? – Mike

+0

также есть способ следить за своим гидом на mac, для пользователя студии Android? – Mike

+0

Я пробовал, не устанавливая его, и это не помогло. – Mike