2015-05-18 3 views
2

У меня есть приложение, которое работает с картами google в режиме отладки. Я создаю свою подпись.jks, а затем строю мой подписанный APK. я извлечь SHA1 отпечаток пальца с помощью кода Che командной строкиGoogle Maps Подписан APK Android

keytool -list -v -keystore signature.jks -alias myalias -storepass mypass -keypass mypass 

и добавить это в моем проекте на консоли разработчика Google.

Но когда я запускаю приложение по телефону, оно не работает. Это правильная процедура?

ответ

1

Вам необходимо настроить ключ карты в Android Manifest для всех типов сборки (отладочная версия и т. Д.). Если вы используете Gradle для строительства вы можете настроить ключи в build.gradle:

buildTypes {

debug { 
    debuggable true 
    .... 
    manifestPlaceholders = [ map_key:"YOUR_DEBUG_cpq5sPasdasdasdAsVIdqK7tfG9xY" ] 
} 

release { 
    debuggable false 
    .... 
    manifestPlaceholders = [ map_key:"YOUR_RELEASE_4RUFCUrHhZJWpqKGs-d1hOIxELs" ] 
} 

И в Android Manifest:

<meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="${map_key}" /> 
+0

Я сделал это. Но я кладу map_key непосредственно в манифест. Но если я делаю сборку подписанного apk и выбираю debug, он работает, если я выберу выпуск, это не сработает. –

+0

У вас должно быть 2 хранилища ключей. Отладка и выпуск. Затем вы должны сгенерировать для обоих - отпечаток SHA1, используя команду, на которую вы указали. Затем вы должны зарегистрировать этот отпечаток пальца в консоли api https://console.developers.google.com под API и auth -> Credentials. Затем, когда вы создаете подписанный apk с ключом release - вы должны использовать ключ карты, созданный с помощью отпечатка ключа хранилища ключей, если вы создаете его с помощью отладочного хранилища ключей - вы должны использовать ключ отладки карты. – x90

+0

«создать новый» под созданным сгенерированным подписью APK в Android Studio является допустимым способом создания хранилища ключей выпуска? –

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