Карты Google — Обязательный тег метаданных в вашем приложении AndroidManifest.xml не существует

#android #google-maps #kotlin

Вопрос:

Я хочу внедрить Google Map в свое приложение для Android, я просто следую инструкциям платформы Google Maps, но это не сработало. Я не знаю, почему метаданные не существуют, хотя я уже заявляю об этом в манифесте:

AndroidManifest.xml

 <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:usesCleartextTraffic="true"
        tools:ignore="AllowBackup"
        tools:targetApi="m">

        <activity android:name="some.Activity"></activity>


        <meta-data
            tools:replace="android:value"
            android:name="com.google.android.gms.version"
            android:value="${MAPS_API_KEY}" />
</application>
 

местные.свойства

 MAPS_API_KEY=HereIsTheSecretAPIstored
 

build.gradle (:приложение)

 plugins {
    id 'com.google.secrets_gradle_plugin' version '0.5'
}
 

версия служебных карт:

 implementation "com.google.android.gms:play-services-maps:17.0.1"
 

Трассировка стека:

 Caused by: com.google.android.gms.common.GooglePlayServicesMissingManifestValueException: A required meta-data tag in your app's AndroidManifest.xml does not exist.  You must have the following declaration within the <application> element:     <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
        at com.google.android.gms.common.GooglePlayServicesUtilLight.isGooglePlayServicesAvailable(com.google.android.gms:play-services-basement@@17.5.0:17)
 

Кто-нибудь может мне помочь?

Ответ №1:

После некоторых усилий, наконец, я смог решить проблему с помощью этого решения:

  1. Измените метаданные и переместитесь в верхнюю часть тега активности.

От

 <meta-data
            tools:replace="android:value"
            android:name="com.google.android.gms.version"
            android:value="${MAPS_API_KEY}" />
 

Для

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

2 Кроме того, я забыл включить SDK карт для Android в консоли Google, поэтому я включаю его.