【问题标题】:Multiple Google api keys in manifest file (Android)清单文件中的多个 Google api 密钥 (Android)
【发布时间】:2016-07-01 22:11:24
【问题描述】:

我正在尝试添加两个 api 密钥,即 Google 放置 api 密钥和 google maps api 密钥。 但我无法同时将两者添加到清单文件中。我怎样才能达到相同的效果。任何帮助将不胜感激。 提前致谢。

我得到的错误是

原因:java.lang.RuntimeException:API 密钥只能指定一次。建议您在AndroidManifest.xml的元素中使用名称为:com.google.android.geo.API_KEY的元数据标签

我包括这样的 api 键

 <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="xxxxx" />

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="xxxx"/>

【问题讨论】:

  • 你能把清单中的代码贴出来吗?
  • 张贴你的清单@Amit Nair
  • 我已经编辑了我的问题..够了吗?
  • @IntelliJAmiya 是的....:)..我删除了谷歌地图的 api 密钥..现在我可以访问获取谷歌地点和谷歌地图..:)
  • @AmitNair 继续前进。

标签: java android google-maps google-places-api api-key


【解决方案1】:

在清单中使用以下元数据。如果您已经拥有谷歌地图的 api 密钥,则无需为地点 api 创建另一个 api 密钥。 如果您在应用程序中同时使用 Maps 和 Places Api,那么您只需要指定 geo api key.and 只需启用 Places Api。

<meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="api_key" />
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

【讨论】:

    【解决方案2】:

    你的错误日志说什么

    Caused by: java.lang.RuntimeException: API key 只能是 指定一次。建议您将元数据标签与 名称:com.google.android.geo.API_KEY 在元素中 AndroidManifest.xml

    删除

    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="xxxx"/>
    

    确保您具有以下权限。 足以显示地图

      <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="@string/common_google_api_key" />
    
        <uses-library
            android:name="com.google.android.maps"
            android:required="false" />
    

    阅读

    Getting error "java.lang.RuntimeException: Unable to start activity" in my app

    【讨论】:

      【解决方案3】:

      与其添加两个不同的 API 密钥,不如为同一个项目启用两个密钥并为您当前想要的单个项目复制相同的密钥,如下所示

      <!-- Goolge Maps API Key -->
      <meta-data
          android:name="com.google.android.maps.v2.API_KEY"
          android:value="AIzaS******************WDaKCEHP" />    
      
      <!-- Google Places API Key -->
      <meta-data
          android:name="com.google.android.geo.API_KEY"
          android:value="AIzaS******************WDaKCEHP" />  
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-28
        • 1970-01-01
        • 2015-06-21
        • 2016-10-28
        • 1970-01-01
        • 2013-08-27
        • 1970-01-01
        • 2013-05-12
        相关资源
        最近更新 更多