我正在使用Google Maps API for Android.我将我的代码从我的桌面推送到Github上,然后当我想在旅途中处理代码时,将它从Github下载到我的笔记本电脑上.
就Google Maps API而言,我需要将API密钥放在Android清单中,如下所示:
<application>
...
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="YOUR_API_KEY"/>
</application>
Run Code Online (Sandbox Code Playgroud)
现在,因为我有两个不同的调试证书(笔记本电脑上的那个和桌面上的那个),谷歌的API密钥也会有所不同,因为来自调试证书的SHA-1指纹会有所不同.
如何在两台PC上保持这种独特性?
我认为有必要在git上跟踪android清单,因为这是任何应用程序中非常重要的组件,但现在我每次推送时如何避免API密钥冲突?
我认为VonC方式可能是最正确的方法,但我也提出了一个快速的解决方法.
您可以在values.xml文件夹下创建一个单独的自定义xml文件,并根据需要调用它.我打电话给我的constants.xml
在xml中,你可以添加你的api密钥:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="google_places_geo_api" type="string">APIKEY</item>
</resources>
Run Code Online (Sandbox Code Playgroud)
我将它与strings.xml分开,这样我就不必在git上跟踪这个文件了.我在git上跟踪strings.xml.
在你的清单上:
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_places_geo_api"/>
Run Code Online (Sandbox Code Playgroud)
运行并从constants.xml文件中提取api密钥.
| 归档时间: |
|
| 查看次数: |
547 次 |
| 最近记录: |