清单文件中的多个Google API密钥(Android)

时间:2016-03-16 07:01:26

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

我正在尝试添加两个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"/>

3 个答案:

答案 0 :(得分:2)

在清单中使用以下元数据。如果您已经拥有谷歌地图的API密钥,则无需为地点api创建另一个api密钥。 如果您同时使用地图和在您的应用程序中放置Api,然后您只需要指定geo api key。并且只需启用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" />

答案 1 :(得分:1)

您的错误日志是什么

  

引起:java.lang.RuntimeException:API密钥只能是   指定一次。建议您使用元数据标记   名称: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

答案 2 :(得分:1)

不是为同一个项目添加两个不同的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" />