找不到 com.android.tools.build:gradle:7.5.1

Pow*_*ime 11 gradle android-studio

所以今晚我在 Android Studio 中构建了一个必须签名的测试 APK。它失败了,并说我的 Gradle 已过时。所以我将我的 gradle 从 7.3.3 升级到最新的 7.5.1

我将包装器设置更改为distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip ,然后将 build.gradle 依赖项更改为 classpath 'com.android.tools.build:gradle:7.5.1'

请注意,完成更改并重新启动 Android Studio 后,它确实升级了应用程序目录中的版本。

Gradle版本确认

下面是抛出的错误:

* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all files for configuration ':classpath'.
   > Could not find com.android.tools.build:gradle:7.5.1.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/7.5.1/gradle-7.5.1.pom
       - https://repo.maven.apache.org/maven2/com/android/tools/build/gradle/7.5.1/gradle-7.5.1.pom
     Required by:
         project :
Run Code Online (Sandbox Code Playgroud)

请注意,这是一个客户的项目,最初不是我写的。这些依赖项已经就位,但相当新,并且应用程序可以使用 7.3.3 构建良好。但是它不允许我签署我的应用程序。

我想我可以在这两个问题上运用一些智慧。我要做的是返回到版本 7.3.3,再次构建签名的 APK,然后复制该确切的错误以在此处报告。这是一个gradle版本错误。

Pow*_*ime 9

对于像我这样的 Flutter 菜鸟来说,会发生此错误,因为 Android Tools Plugin 版本与 Gradle 版本不匹配:

https://developer.android.com/studio/releases/gradle-plugin#groovy

它们在数量上的匹配程度足够模糊,您可能会认为我的行com.android.tools.build:gradle:7.5.1.使用 gradle 7.5.1,但相反,Android Tools for Gradle 实际上是一个单独的实体,在输入此回复时为 7.3.3。

因此,您可以将 Gradle 设置为项目中其他位置的最新版本,但它必须与此处设置的兼容 Android Tools 版本相匹配。一开始它很愚蠢且令人困惑,并且很容易让新手绊倒。希望版本有足够的差异,或者代码语法发生变化以获得更好的清晰度,但到目前为止,就是这样。