首页 > 解决方案 > mapbox 注释 0.9.0 不适用于 mapbox 9.6.0

问题描述

我添加了 mapbox 及其注释依赖项,如下所示:

implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.0'
api 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'

一切都运行良好,但由于我已将 mapbox 版本从 9.2.0 更改为 9.6.0,因此在运行我的应用程序时出现此错误。注意:构建成功,但应用程序无法正常运行。v9.4.0 和 9.5.0 也会出现此错误。

错误:

    Execution failed for task ':app:checkDebugAarMetadata'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Could not find com.mapbox.mapboxsdk:mapbox-android-sdk:9.6.0.
     Searched in the following locations:
       - https://jcenter.bintray.com/com/mapbox/mapboxsdk/mapbox-android-sdk/9.6.0/mapbox-android-sdk-9.6.0.pom
       - https://dl.google.com/dl/android/maven2/com/mapbox/mapboxsdk/mapbox-android-sdk/9.6.0/mapbox-android-sdk-9.6.0.pom
       - https://maven.google.com/com/mapbox/mapboxsdk/mapbox-android-sdk/9.6.0/mapbox-android-sdk-9.6.0.pom
       - https://repo.maven.apache.org/maven2/com/mapbox/mapboxsdk/mapbox-android-sdk/9.6.0/mapbox-android-sdk-9.6.0.pom
     Required by:
         project :app > project :mapir-android-sdk
   > Could not find com.mapbox.mapboxsdk:mapbox-android-sdk:9.6.0.
     Searched in the following locations:
       - https://jcenter.bintray.com/com/mapbox/mapboxsdk/mapbox-android-sdk/9.6.0/mapbox-android-sdk-9.6.0.pom
       - https://dl.google.com/dl/android/maven2/com/mapbox/mapboxsdk/mapbox-android-sdk/9.6.0/mapbox-android-sdk-9.6.0.pom
       - https://maven.google.com/com/mapbox/mapboxsdk/mapbox-android-sdk/9.6.0/mapbox-android-sdk-9.6.0.pom
       - https://repo.maven.apache.org/maven2/com/mapbox/mapboxsdk/mapbox-android-sdk/9.6.0/mapbox-android-sdk-9.6.0.pom
     Required by:
         project :app > project :mapir-android-sdk > com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0

Possible solution:
 - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

标签: androidannotationsmapbox

解决方案


从 Mapbox Maps SDK for Android 9.4 版开始,访问 Maven 存储库以下载 SDK 库的方式发生了变化。

您现在需要创建一个秘密访问令牌并使用它来访问库所在的 maven 存储库。您的模块级 build.gradle 应包含以下内容:

allprojects {
  repositories {
    maven {
      url 'https://api.mapbox.com/downloads/v2/releases/maven'
      authentication {
          basic(BasicAuthentication)
      }
      credentials {
        // Do not change the username below.
        // This should always be `mapbox` (not your username). 
          username = 'mapbox'
          // Use the secret token you stored in gradle.properties as the password
          password = project.properties['MAPBOX_DOWNLOADS_TOKEN'] ?: ""
      }
    }
  }
}

另请参阅:

https://docs.mapbox.com/android/maps/overview/#configure-credentials


推荐阅读