【问题标题】:How can I hide my Google Maps API Key when sharing my code on github?在 github 上共享代码时如何隐藏我的 Google Maps API 密钥?
【发布时间】:2012-03-11 04:12:53
【问题描述】:

我的 Android 应用程序是开源的,我有点害怕在 Github 上共享代码,因为我的 API 密钥也被共享了。

我可以 git 忽略我的 strings.xml 文件,但我真的希望有一个替代方案,我将能够做一些聪明的事情,所以我不必担心。

有什么想法或建议吗?

【问题讨论】:

  • 为什么git ignore“不聪明”?
  • 因为我无法将我的默认英文 string.xml 文件分享给我的潜在翻译人员...

标签: android map github api-key


【解决方案1】:

将密钥放在一个单独的文件中并从那里读取它,并且只将一个占位符文件提交到存储库。

【讨论】:

  • 文本资产将是一个很好的地方。您可以检查资产是否存在,因此您甚至不必放置占位符文件:如果它不存在,请设置一些标志并在他们第一次运行应用程序时显示警告消息。
  • 我在将近 2 年前问过这个问题:如何以编程方式设置地图 API? stackoverflow.com/questions/3517833/…
【解决方案2】:

如果程序需要strings.xml,那么它应该包含在源代码中,但特定于源代码的每个用户的字符串应该被省略。在他们的位置,提供有关特定字符串应包含在何处的文档。

【讨论】:

    【解决方案3】:

    自定义项目的 ant 构建脚本以从 local.properties(添加到 git ignore)生成 mapskey.xml(字符串)。 那些 fork 的人只需创建自己的 local.properties,并使用 Google 地图的调试和发布密钥。

    【讨论】:

      猜你喜欢
      • 2014-02-12
      • 1970-01-01
      • 2020-08-02
      • 2020-08-17
      • 2017-11-04
      • 2021-04-07
      • 1970-01-01
      • 2019-12-25
      • 2012-04-03
      相关资源
      最近更新 更多