2012-02-20 64 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,那么它应该包含在源代码中,但是应该忽略特定于源代码的每个用户的字符串。在他们的位置,提供关于特定字符串应包含在哪里的文档。