2012-02-20 68 views
5

我的Android應用程序是開源的,我有點害怕在Github上分享代碼,因爲我的API密鑰也是共享的。如何在github上共享我的代碼時隱藏我的Google Maps API密鑰?

我可以忽略我的strings.xml文件,但我真的希望有一個選擇,我將能夠做一些聰明的事情,所以我不必擔心它。

任何想法或建議?

+1

爲什麼'git ignore'「不聰明」? – vcsjones 2012-02-20 20:02:06

+0

因爲我無法將我的默認英文string.xml文件分享給我的潛在翻譯... – 2012-02-21 08:20:03

回答

3

自定義項目的ant構建腳本以從local.properties(添加到git忽略)生成mapskey.xml(字符串)。 那些使用Google地圖的調試和釋放鍵創建自己的local.properties的人。

3

將密鑰放在一個單獨的文件中,並從那裏讀取它,並只將一個佔位符文件提交到存儲庫。

+2

文本資產將是一個很好的選擇。您可以檢查資產是否存在,因此您甚至不需要放置佔位符文件:如果該文件不存在,請在第一次運行應用程序時設置一些標誌並顯示警告消息。 – 2012-02-21 02:46:48

+0

我喜歡那個想法。 – kindall 2012-02-21 03:12:46

+0

我在近2年前問過這個問題:如何以編程方式設置Map API? http://stackoverflow.com/questions/3517833/mapactivity-set-apikey-programmatically – 2012-02-21 08:18:42

-1

如果程序需要strings.xml,那麼它應該包含在源代碼中,但是應該忽略特定於源代碼的每個用戶的字符串。在他們的位置,提供關於特定字符串應包含在哪裏的文檔。