似乎mapbox-android-navigation-ui:0.31.0添加了与com.android.support:appcompat-v7:28.0.0不兼容的库。问题似乎是,一旦将mapbox-android-navigation-ui:0.31.0添加到内部版本中,它就包含了picasso:2.71828,其中包括一个接口-com.android.support:exifinterface:27.1.0-而不是7 :28.0.0导致以下gradle错误:
所有com.android.support库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到版本28.0.0,27.1.0。示例包括com.android.support:animated-vector-drawable:28.0.0和com.android.support:exifinterface:27.1.0(⌘F1) 检查信息:库,工具和库的某些组合不兼容或可能导致错误。一种不兼容的情况是使用不是最新版本(或特别是低于targetSdkVersion的版本)的Android支持库版本进行编译。
我进行了依赖性检查:./gradlew app:dependencies并发现以下内容:com.android.support:exifinterface:27.1.0
包含在:com.squareup.picasso:picasso:2.71828
中,依次包含在:com.android.support:design:28.0.0
中,最后包含在com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.31.0
中
我从0.28.0开始尝试了各种版本的导航UI,但是没有运气。 build.gradle依赖项如下所示:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation group: 'com.mapbox.mapboxsdk', name: 'mapbox-android-sdk', version: '7.2.0'
implementation group: 'com.mapbox.mapboxsdk', name: 'mapbox-android-plugin-locationlayer', version: '0.11.0'
implementation 'com.android.support:support-annotations:28.0.0'
implementation 'androidx.annotation:annotation:1.0.2'
implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.31.0'
不确定我丢失了什么,但肯定看起来像0.31.0依赖于具有不兼容接口的库。我可能缺少了一些东西,因此不胜感激。
谢谢