构建 apk 以调试和发布模式而无需每次更改 Android Google API 键?

Building apk to debug and release mode without changing Android Google API key each time?

我在我的应用程序中使用 gmaps 并且文件 中的 api 键看起来像:

<resources>

<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">

    <!-- DEBUG -->
    <!-- AIzaSyB#####MY_DEBUG_API_KEY_HERE -->

    <!-- RELEASE -->
    AIzaSyBS####MY_RELEASE_KEY_HERE
</string>

我不想在每次构建版本时都更改 beetwen 密钥,因为我很容易忘记它,这样 gmaps 将无法在已发布的应用程序中工作。

我教过如何只使用一把钥匙,但从我查找的几乎所有来源来看,它都被标记为不好的做法。

那么有没有一个简单的 way/option 可能与构建 type/flavour 以某种方式使构建过程 "smart" 到 :

当我在调试模式下构建时,我的构建可以使用调试 api 密钥和 vica vera 与发布构建?

您可以在构建类型特定的文件夹中定义资源文件。

例如,在/app/src/debug/res/values/strings.xml中:

<string name="google_maps_key">debug_maps_key_here</string>

/app/src/release/res/values/strings.xml中:

<string name="google_maps_key">release_maps_key_here</string>

构建系统将自动仅使用当前正在构建的构建类型的资源,从而为每个构建使用正确的密钥。