我在build.gradle文件中收到以下错误消息:
所有com.android.support库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到版本28.0.0、25.2.0。示例包括com.android.support:animated-vector-drawable:28.0.0和com.android.support:support-media-compat:25.2.0以下...(Ctrl + F1) 有一些库,工具或库的组合不兼容或可能导致错误。一种不兼容的情况是使用不是最新版本的Android支持库版本进行编译(或者特别是低于targetSdkVersion的版本)。
以下是我的build.gradle文件的当前状态。但是,在上述错误消息中,我看不到任何对不同版本的依赖项的明确引用。
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
buildToolsVersion "28.0.3"
defaultConfig {
applicationId "com.parse.ideanetwork"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
versionCode 5
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:28'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support:design:28.0.0'
compile 'com.google.android.gms:play-services-ads:11.0.0'
compile "com.github.parse-community.Parse-SDK-Android:parse:1.18.5"
}
非常感谢您的帮助。谢谢。
答案 0 :(得分:0)
明确声明最旧的版本依赖关系与最新版本似乎有效。我认为这不是更好的解决方案(也许根本不是孤注一掷),但是它消除了警告。 这就是我正在做的事情,直到现在一切都没有中断。
答案 1 :(得分:0)
使用此功能,将解决依赖项版本不兼容的问题。
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
// Skip multidex because it follows a different versioning pattern.
if (!requested.name.startsWith("multidex")) {
details.useVersion '28.0.0'
}
}
}
}