构建 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>
构建系统将自动仅使用当前正在构建的构建类型的资源,从而为每个构建使用正确的密钥。
我在我的应用程序中使用 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>
构建系统将自动仅使用当前正在构建的构建类型的资源,从而为每个构建使用正确的密钥。