android - 如何在多风格应用程序中添加多个 Google Maps API 配置

标签 android google-maps google-maps-android-api-2

我有一个多风格的 Android 应用程序,因为我需要具有不同 ID 的开发、质量检查和生产应用程序连接到不同的 Firebase 项目。

flavorDimensions "env"
productFlavors {
    dev {
        dimension "env"
        applicationId "com.myapp.debug"
    }
    qa {
        dimension "env"
        applicationId "com.myapp.beta"
    }
    prod {
        dimension "env"
        applicationId "com.myapp"
    }
}

我还在各自的源文件夹中添加了 3 个版本的 google_maps_api.xml,如下所示:

enter image description here

在开发版中,一切正常, map 显示正常。但是,当我在生成带有 release/qa 变体的签名版本后以封闭式 alpha 发布应用程序时, map 不会显示在应用程序中。

由于我还是 Android 的新手,我不知道我可能错过了什么,甚至不知道如何解决这个问题?有没有一种简单的方法可以查看封闭alpha 中发布的qa 版本的日志?我错过了一些明显的东西吗?我应该在哪里找到已签名 APK 中的 google_maps_api.xml 文件,以便我可以检查其中是否有正确的文件?

最佳答案

我能够使用不同的 Maps API key 来实现不同的风格,如下所示

第 1 步:在 app/build.gradle 的 manifestPlaceholders 中添加不同的键

  flavorDimensions "default"
    productFlavors {
        dev {
            dimension "default"
            manifestPlaceholders.google_maps_key = "Dev API key here"
        }
        staging {
            dimension "default"
            manifestPlaceholders.google_maps_key = "Staging API key here"
        }
    }

第 2 步:在应用程序标签内的 AndroidManifest.xml 中,使用此代码根据风格引用 API key

<application    
<meta-data android:name="com.google.android.geo.API_KEY"
                android:value="${google_maps_key}"/>

</application>

关于android - 如何在多风格应用程序中添加多个 Google Maps API 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49170184/

相关文章:

android - collapsingToolbarLayout 仅在折叠时设置标题

javascript - 在 javascript 中刷新 primefaces gmap 标记

android - 谷歌地图 v1 在 Android 10 中崩溃

google-maps - 如何在发布而不是调试中运行android应用程序?

android - 替换后的"Kill"fragment

android - 在 LatLng 中心上方设置标记

java - 如何在 google maps API v2 中添加叠加层 |安卓|

android - 重新启用状态栏

android - git push 如何与 android 的 repo 工具一起工作?

android - 为 Android 应用程序签署 REST 请求