当前位置: 首页 > 知识库问答 >
问题:

Mapbox sdk与AndroidX?

桂鑫鹏
2023-03-14

在根据https://docs.mapbox.com/android/maps/guides/install/添加所有依赖项后,当我尝试运行应用程序时出现以下错误:

同步错误:

无法解决:Legacy-Support-Core-Utils-1.0.0受影响的模块:app

生成错误:

任务“:app:CompileDebugJavaWithJavac”执行失败。

无法解析配置“:app:DebugCompileClasspath”的所有文件。找不到legacy-support-core-utils-1.0.0.jar(androidx.legacy:legacy-support-core-utils:1.0.0).在以下位置进行了搜索:https://dl.google.com/dl/android/maven2/androidx/legacy/legacy-support-core-utils/1.0.0/legacy-support-core-utils-1.0.0.jar

可能的解决方案:

  • 声明提供工件的存储库,请参阅https://docs.gradle.org/current/userguide/declaring_repositories.html
  • 的文档

以下是我的build.gradle模块级:

plugins {
    id 'com.android.application'
}

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.0"

    defaultConfig {
        applicationId "com.hamimap.android"
        minSdkVersion 14
        targetSdkVersion 30
        versionCode 2
        versionName "1.1"
    }

    buildTypes {
        release {
            minifyEnabled true
            debuggable false
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled false
            debuggable true
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.3.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    api 'com.theartofdev.edmodo:android-image-cropper:2.8.+'
    implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
    implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.6.1'
}

以下是我的build.gradle项目级别:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.1.2"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        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'] ?: 'my secret token'
            }
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

共有1个答案

慕容宏毅
2023-03-14

你的分级配置看起来第一眼还可以。api'com.theartofdev.edmodo:android-image-cropper:2.8.+'与Mapbox依赖项可能不兼容。您是否尝试删除依赖项以查看这是否解决了问题?

还有,你在Kotlin发展吗?如果是,则应添加

null

kotlinOptions {
        jvmTarget = '1.8'
    }
 类似资料:
  • 在C语言中,假设每个算法被赋予完全相同的一组进程,那么先到先得、最短作业优先和循环之间的周转时间是否相等?还是调度算法不同?

  • 问题内容: 为了为 HTML5 Doctype 定义字符集,我应该使用哪种表示法? 短: 长: 问题答案: 在HTML5中,它们是等效的。使用较短的一个,更容易记住和键入。浏览器支持很好,因为它是为向后兼容而设计的。

  • 连接的多个输入都相当于Yes的时候才会输出Yes。 用法 Your browser does not support the video tag. 案例:小闹钟 功能:今天15:10:00,响起猫叫声小闹钟 工作原理 当所有的输入都是Yes的时候,与节点才输出Yes。

  • 问题内容: 似乎有三种 相同的 方法可以独立于平台获取依赖于平台的“文件分隔符”: 我们如何决定何时使用哪个? 它们之间甚至有什么区别吗? 问题答案: 可以通过调用命令行参数或使用命令行参数覆盖 获取默认文件系统的分隔符。 获取默认文件系统。 获取文件系统的分隔符。请注意,作为一种实例方法,在需要代码在一个JVM中对多个文件系统进行操作的情况下,可以使用该方法将不同的文件系统传递给代码(而不是默认