аннотация mapbox 0.9.0 не работает с mapbox 9.6.0

#android #annotations #mapbox

#Android #аннотации #mapbox

Вопрос:

Я добавил 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, при запуске моего приложения возникла эта ошибка.
Внимание: сборка выполнена успешно, но приложение работает некорректно. Также эта ошибка возникает с версиями 9.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
  

Ответ №1:

Начиная с Mapbox Maps SDK для 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

Комментарии:

1. Я сделал то, что вы сказали, но моя ошибка заключалась в том, что я ввел учетные данные в: app gradle file, потому что я не хочу заставлять пользователя создавать учетную запись mapbox, на самом деле я использую mapbox в своем пользовательском пакете. Спасибо за ответ.

2. @mortezahosseini у меня была такая же проблема, какое-либо решение по этой теме?