2014-06-25 4 views
0

Я создал свой собственный хранилище ключей с помощью этой команды из d.android:Android - Google Maps не отображаются на устройстве

$ keytool -genkey -v -keystore my-release-key.keystore 
-alias my_alias -keyalg RSA -keysize 2048 -validity 10000 

Далее я нашел SHA1 с помощью: Keytool -list -v -keystore мой -release-хранилище ключей Это было сразу после того, как SHA1: ....

в моем приложении у меня есть com.mypackagename.MyClassName

в API доступе Google Api консоли Я наклеенный следующее:

MY_SHA1;com.mypackagename 

И он был успешно добавлен.

Но когда я запускаю свое приложение на устройстве, у меня все еще есть серая плитка вместо карты. Хотя в

<application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> 
    <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="value_taken_from_Api_key_field_in_google_console"> 

А фрагмент для карты я также вставил:

<fragment 
     android:id="@+id/map" 
     android:name="com.google.android.gms.maps.SupportMapFragment" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:apiKey="value_taken_from_Api_key_field_in_google_console"> 
</fragment> 

Когда я запускаю мое приложение прямо из IDE с помощью моего устройства вместо эмулятора он показывает серый экран (кнопки масштабирования и " Google ". Также, когда я создаю .apk, используя указанное хранилище ключей с my_alias, тогда этот .apk также показывает серый экран вместо карты (кнопки масштабирования и метка Google).

+0

Совет Даниила может помочь: http://stackoverflow.com/questions/30559602/android-studio-google-map-still-blank-on-real-android-device/30559898#30559898 – morganzd

ответ

0

Я исправил проблему. И это потому, что у меня 64-битный ноутбук, и я использовал 32-битный Win7. Теперь у меня 64-битный Win7, и он отлично работает!

0

У меня лично была эта проблема один раз, кажется, что мой keytool не работал так здорово. Я знаю, что у eclipse есть функция, которая показывает ваш SHA1, который был другим (и работает) для меня. Это в окне> Настройки> Android> Сборка. Посмотрите, отличается ли это, если вы используете eclipse. Кроме того, вы установили правильные разрешения, метаданные (также версии игровых сервисов Google), glEs и т. Д., Как показано в the google maps getting started walkthrough? Я также не думаю, что android:apiKey необходим в вашем фрагменте карты, так как он установлен в манифесте.

+0

Oh ... I используйте Intellij Idea 13. Знаете ли вы, где я могу это найти? Google показывает мне ничего для этого сейчас ... И что касается манифеста - да, я добавил: "android.permission.INTERNET" "android.permission.ACCESS_NETWORK_STATE" "android.permission.WRITE_EXTERNAL_STORAGE" "com .google.android.providers.gsf.permission.READ_GSERVICES " " android.permission.ACCESS_COARSE_LOCATION " " android.permission.ACCESS_FINE_LOCATION "> – user2783834

+0

Извините, я не знаю, где его найти. Вероятно, там есть такая функция ... не видите окно настроек где-нибудь? – Matthijs

+0

Я исправил проблему. И это потому, что у меня 64-битный ноутбук, и я использовал 32-битный Win7. Теперь у меня 64-битный Win7, и он отлично работает! – user2783834

0

Я бы создал новый ключ API отладки, используя хранилище отладки. В Windows вы можете найти хранилище отладки по адресу: C:\Users\YOUR_USER_NAME\.android\debug.keystore

Используйте SHA1 из этого хранилища ключей и создайте новый ключ API. Затем вы сможете увидеть карту, когда вы запускаете приложение из среды IDE на ваше устройство.

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