#android #android-studio #gradle #mapbox #mapbox-android
Вопрос:
Я новичок в MapBox, пытаясь создать простое приложение для Android, следуя инструкциям на сайте MapBox. Не знаю почему, но у меня постоянные ошибки, кажется, что инструкции устарели. Во — первых, в build.gradle нет «всех проектов», и когда я добавляю его-я получаю следующую ошибку:
»’
Build file 'C:UsersgormDesktop12345MyApplication2build.gradle' line: 35
A problem occurred evaluating root project 'My Application'.
> Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by build file 'build.gradle'
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is:
org.gradle.api.GradleScriptException: A problem occurred evaluating root project 'My Application'.
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:93)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.lambda$apply$0(DefaultScriptPluginFactory.java:133)
at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:136)
at org.gradle.configuration.BuildOperationScriptPlugin$1.run(BuildOperationScriptPlugin.java:65)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
at......
»’
Итак, я написал свой файл build.gradle следующим образом:
»’
buildscript {
repositories {
google()
mavenCentral()
jcenter()
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'] ?: ""
}
}
//noinspection JcenterRepositoryObsolete
}
dependencies {
classpath "com.android.tools.build:gradle:7.0.2"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
»’
I’m getting an error now :
«Could not GET ‘https://api.mapbox.com/downloads/v2/releases/maven/com/mapbox/mapboxsdk/mapbox-android-sdk-services/5.0.0/mapbox-android-sdk-services-5.0.0.pom’. Received status code 401 from server: Unauthorized
Disable Gradle ‘offline mode’ and sync project»
I’m tired of looking for a solution. Can anyone help?
P.S. To top it all, I had to add maven {url ‘https://api.mapbox.com/downloads/v2/releases/maven’} to Setting.gradle and it looks like this:
»’
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
maven {
url 'https://api.mapbox.com/downloads/v2/releases/maven'}
}
}
rootProject.name = "My Application"
include ':app'
»’