Git:跟踪或取消Android API密钥?

Sim*_*mon 3 git android

我正在使用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密钥冲突?

Sim*_*mon 6

我认为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密钥.