2012-02-20 11 views
5

Moja aplikacja na Androida to OpenSource i obawiam się, że mogę udostępnić kod na Githubie, ponieważ moje klucze API również zostały udostępnione.Jak mogę ukryć mój klucz API Map Google podczas udostępniania mojego kodu na github?

Mogę git zignorować mój plik strings.xml, ale mam nadzieję, że istnieje alternatywa i będę mógł zrobić coś sprytnego, więc nie będę musiał się tym martwić.

Masz pomysł lub sugestię?

+1

Dlaczego "git ignore" nie jest sprytny? – vcsjones

+0

Ponieważ nie mogę udostępnić mojego domyślnego angielskiego pliku string.xml moim potencjalnym tłumaczom ... –

Odpowiedz

3

Dostosuj skrypt budowy mrówki swojego projektu, aby wygenerować plik mapskey.xml (ciągi) z pliku local.properties (który dodajesz do git ignore). Użytkownicy rozwidlenia tworzą własne właściwości local.properties za pomocą kluczy debugowania i wydawania dla Map Google.

3

Umieść klucz w oddzielnym pliku i odczytaj go z niego, a następnie przekaż tylko plik zastępczy do repozytorium.

+2

Zasób tekstowy byłby dobrym miejscem na to. Możesz sprawdzić, czy zasób istnieje, więc nie musisz nawet umieszczać pliku właściciela miejsca: jeśli nie istnieje, ustaw flagę i wyświetl komunikat ostrzegawczy, gdy uruchomią aplikację po raz pierwszy. –

+0

Podoba mi się ten pomysł. – kindall

+0

Zapytałem o to prawie 2 lata temu: Jak programowo ustawić API Map? http://stackoverflow.com/questions/3517833/mapactivity-set-apikey-programmatically –

-1

Jeśli program wymaga programu strings.xml, powinien być zawarty w źródle, ale ciągi specyficzne dla każdego użytkownika źródła powinny zostać pominięte. W ich miejsce należy podać dokumentację określającą, gdzie powinny znaleźć się poszczególne napisy.

Powiązane problemy