gpt4 book ai didi

android - 管理 Google map API key

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:39:02 24 4
gpt4 key购买 nike

我的应用程序使用了大量的 MapView 屏幕,我试图找出如何管理调试环境和生产环境之间的 API key 。显然,无法更改 Eclipse 中的调试应用程序 key ,因此我必须在该环境中使用调试映射 API key 。相反,如果没有生产应用程序 key ,则无法导出用于 Beta 测试的包,因此我必须在每个 View 中更改 map API key 才能创建工作包。

我的第一个想法是这样做:

所有 MapView.xml 文件都有这个:

android:apiKey="@string/googleMapsAPIKey"

然后在 strings.xml 中我放了这个:

<string name="googleMapsPIKey">@string/debugGoogleMapsAPIKey</string>
<string name="debugGoogleMapsAPIKey">TheMagicKeyString</string>

如果这行得通,它将允许我更改 strings.xml 中的一行,并且所有 MapView 都将在重建中得到更新。但它没有用。我猜 strings.xml 不能对自身进行引用。还有其他想法吗?

谢谢

最佳答案

我推荐一种更简单的方法,即利用不太可能但更具体的 Assets 文件夹来存放调试 key 。要进行设置,请创建一个包含以下内容的文件 res/values/maps-apikey.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="maps_apikey">[productionApiKey]</string>
</resources>

然后每个本地开发人员将在 res/values-v1/maps-apikey.xml 中添加一个从该文件派生的文件,其中提供了他们的调试 API key 。在运行时,Android 系统将支持所有版本的 Android 的更具体的版本 res/values-v1/maps-apikey.xml(因为所有版本至少都在 API 级别 1 或更高级别)。

像 git 和 svn 这样的源代码控制系统允许你添加一个“忽略”文件,它指示工具忽略这个 res/values-v1/maps-apikey.xml 文件,这样每个开发人员就不会不小心将它提交到存储库.要为 git 执行此操作,只需添加一个文件 res/.gitignore,其中仅包含行 values-v1,然后提交该文件。

要发布您的软件,只需在导出发布前删除 res/values-v1/maps-apikey.xml 文件。生成的 APK 然后将引用 res/values/maps-apikey.xml 中的版本,这是您正确的生产 key 。

关于android - 管理 Google map API key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3442545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com