2013-05-05 15 views
12

to jest dla mnie jasne, jak uzyskać klucz debugowania do użytku z biblioteki Google Maps V2, a także jak uzyskać klucz zwalniający. Obecnie odpowiednia sekcja mojego pliku manifestu wygląda następująco:Android Google Maps v2 - klucz Debug vs wersji klucza

<!-- Debug --> 
<meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="[my debug key here]"/> 

<!-- Release   
<meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="[my release key here]"/> 
--> 

Odnośny klucz jest odkomentowany, a drugi komentowany.

Czy ktoś może wskazać wygodny sposób na uniknięcie tej uciążliwej komentując/odkomentowanie te fragmenty pliku manifestu każdym debug niż jest potrzebna wersja release?

+0

Nowy build Gradle opartej system powinien pomóc w tym obszarze. Powinieneś być w stanie zdefiniować zasoby debugowania i produkcji ciągów oraz trzymać swoje klucze API w jednym z nich. – CommonsWare

+0

Proszę, czy możesz podać mi kroki, aby uzyskać mapy google działające w trybie wydania? Próbowałem wielu rzeczy, ale nie mogłem wymyślić, jak rozwiązać ten problem. – guisantogui

+0

Odpowiedź została podana przez Michała: możliwe jest określenie wielu odcisków palców + nazw paczek dla tego samego klucza. Dokumentacja Google wydaje mi bardzo dokładne: https://developers.google.com/maps/documentation/android-api/signup –

Odpowiedz

33

W wersji 2 API można użyć tego samego klucza do uwolnienia i debugowania. W konsoli Google api edytuj dozwolone aplikacje dla Androida, a w każdym wierszu wpisz klucz debugowania/zwolnienia, a następnie nazwę aplikacji. Możesz użyć wielu linii, a następnie zadziała z obu klawiszy.

+1

Great! W rzeczywistości nie zauważyłem tę małą wskazówkę w konsoli API: Jeden SHA1 nazwę linii papilarnych certyfikat i pakietów (oddzielone średnikiem) w wierszu. Dzięki Michał. –

+0

W dalszym ciągu zaleca się używanie różnych kluczy API dla każdego typu wydania, czyż nie? Chodziło mi o bezpieczeństwo, a nie o wygodę. –

3

Różne Google Mapa klucze API dla debugowania i budować uwalnianiu może być zdefiniowana w build.gradle:

... 
android { 
    ... 
    buildTypes { 
     debug { 
      resValue "string", "google_maps_api_key", "<debug_key>" 
      ... 
     } 
     release { 
      resValue "string", "google_maps_api_key", "<release_key>" 
      ... 
     } 
    } 
} 

Wystarczy zastąpić <debug_key> i <release_key> rzeczywistą kluczy.

i odnoszą się do tej wartości zasobów w AndroidManifest.xml:

<meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="@string/google_maps_api_key"/> 

To rozwiązanie jest także opisana w następujący przepełnienie stosu pytanie:

Manage Google Maps API Key with Gradle in Android Studio

+0

Wartości manifestu nie można przechowywać w zasobach ciągów znaków, jeśli lokalizacja jest w kilku językach. Studio nie pozwoli na wygenerowanie wersji Release. – Lera

Powiązane problemy