android - 使用旧版本Gradle库的Android Studio

标签 android android-studio gradle

我正在处理一个旧项目的一个非常奇怪的问题。我更改了项目中使用的相机库,并且该库正在使用Google map 的更新版本。以前我们使用7.5.0,但由于相机库使用的是17.0.0,所以我也将项目的Google Maps库也更新为17.0.0。

运行该应用程序可以正常运行,甚至可以使生产apk正常运行。但是,如果我尝试构建调试版本(不进行任何签名),则会收到此错误:Interface `com.google.android.gms.common.internal.zzi(classpath class)` used as super class of `com.google.android.gms.location.places.internal.zzd`.
这里有更多细节:
Failed to transform artifact 'play-services-location.aar (com.google.android.gms:play-services-location:7.5.0)' to match attributes {artifactType=android-dex, dexing-enable-desugaring=true, dexing-is-debuggable=true, dexing-min-sdk=21, org.gradle.usage=java-runtime}.
同样,这很奇怪,因为应用程序中不再有7.5.0。这让我认为Android Studio正在尝试使用缓存版本。

类似地,如果我尝试运行gradleDependencies命令来检查发生了什么,则会收到另一个奇怪的错误:
Minimum supported Gradle version is 5.4.1. Current version is 4.10.3. If using the gradle wrapper, try editing the distributionUrl in /appName/gradle/wrapper/gradle-wrapper.properties to gradle-5.4.1-all.zip
同时,这是我作为distributionUrl使用的版本,这再次使我认为Android Studio正在尝试使用缓存的版本。
我试过清理/使缓存无效并重新启动。我什至重新启动了计算机。什么都没有

最佳答案

建议您删除应用程序路径中的 .gradle 文件夹。
这将导致Android Studio再次获取数据,在这种情况下,您将确保不使用任何缓存文件。

也请检查gradle-wrapper.propertise为您第二期与以下相同:

distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

希望你的问题能解决。

关于android - 使用旧版本Gradle库的Android Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59936812/

相关文章:

gradle - 如何使用 Gradle 和 JUnit 并行运行测试(每个测试)

java - 有没有办法让这个脉冲数无限大?

java - 使用VS代码的Gradle错误: “Could not run build action using Gradle distribution”

java - Button.setBackground(Drawable 背景) 抛出 NoSuchMethodError

android-studio - 为什么 gradle 2.0 这么慢?

java - Webview 设置 overrideurl 未使用

java - 将 fileChooserParams 中的 mime 类型转换为 Intent.setType 的正确格式

android - 无法获取未知属性 'navigationVersion'

gradle - 无法发布到 sonarqube

unity3d - "gradle failed to fetch dependencies"与 Admob 统一集成