我的应用使用API 19,我将MapView放在自己的布局之一内,并添加了Google Maps实现。现在我收到gradle的警告,说我正在混合版本。
这是警告:
所有com.android.support库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到版本28.0.0-rc02,26.1.0。示例包括com.android.support:animated-vector-drawable:28.0.0-rc02和com.android.support:support-media-compat:26.1.0更多...(Ctrl + F1)
这是我的gradle依赖项:
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-rc02'
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 'com.android.volley:volley:1.1.1'
implementation 'com.google.android.gms:play-services-maps:15.0.1'
警告显示'com.android.support:appcompat-v7:28.0.0-rc02'
。
我不确定在哪里可以找到用于play-services-maps
的正确版本,或者如何正确解决此问题。我不想将最低版本从19降级。
答案 0 :(得分:3)
在build.gradle(:app)的末尾添加它
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
details.useVersion '26.1.0'
}
}
}
答案 1 :(得分:3)
建议如下:
所有com.android.support库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。
这意味着您必须exclude
26.1.0
并提供28.0.0-rc02
来代替
implementation "com.android.support:support-media-compat:28.0.0-rc02"
implementation "com.android.support:support-v4:28.0.0-rc02"
implementation ("com.google.android.gms:play-services-maps:15.0.1") {
exclude group: "com.google.android.gms", module: "support-media-compat"
exclude group: "com.android.support", module: "support-v4"
}
可能还有其他版本冲突,而修复它们的工作原理相同。
答案 2 :(得分:2)
1。转到文件系统上的project / .idea / libraries文件夹,查看哪些库不同。
2。您将必须在build.gradle文件中手动包含具有相同版本的这些库。
3。然后,同步您的项目
以您为例:-
implementation 'com.android.support:animated-vector-drawable:28.0.0-rc02'
您需要添加依赖项:-
implementation 'com.android.support:support-media-compat:28.0.0-rc02'
答案 3 :(得分:0)
//put this things in build.gradle(Project) file
allprojects {
repositories {
maven {
url "https://maven.google.com"
}
jcenter()
google()
}
}
答案 4 :(得分:0)
您需要放弃以下步骤。 1-项目/.idea/库 在这里,您将看到哪个库是不同的。 您可以根据所有库更正其他库。 然后,同步您的项目。
答案 5 :(得分:0)
只需添加此行
implementation 'com.android.support:customtabs:28.0.0-rc02'
implementation 'com.android.support:support-media-compat:28.0.0-rc02'
implementation 'com.android.support:support-v4:28.0.0-rc02'
答案 6 :(得分:0)
面对同一问题,我通过执行以下操作解决了该问题:
所附图片显示了我必须重写的库:
com.android.support:animated-vector-drawable 更改为28.0.0
com.android.support:support-media-compat 更改为28.0.0
com.android.support:support-v4已更改为28.0.0
我了解到,android支持,drawable和compat库是在26.1.0版本中预定义的,而我的sdk版本和目标是28,所以我不得不更改它。
我的gradle运行平稳,还没有遇到任何问题。