如何在Android中修复错误“找不到com.android.tools.build:gradle:3.4.1”?

时间:2019-06-25 08:50:11

标签: android cordova gradle android-gradle

我已在 3.4.1 中更新了 Android Studio 的版本。
Android Gradle插件版本 Gradle版本的版本不是最后一个版本,因此我更改了 3.4.1 5.1 .1 文件>项目结构>项目)。
现在,我正在尝试创建apk,但出现错误“找不到com.android.tools.build:gradle:3.4.1”。
该项目是用 cordova 创建的,首先我已经将Cordova的版本更新为 9.0.0
我还注意到,我没有 Build>生成的签名Apk ,只有 Build> Build Bundle

经过长时间的搜索,我尝试:
1.使用

更改任务包装器
wrapper {gradleVersion = '2.14.1'}
  1. 中添加google()

    存储库{      mavenCentral()      jcenter()      谷歌()     }

  2. 验证链接“ distributionUrl = https://services.gradle.org/distributions/gradle-5.1.1-all.zip”正确

  3. 验证是否存在函数mavenCentral()

  4. 文件>设置>生成,执行...>生成工具> Gradle 中,选中“使用默认gradle包装器”,而未选中“脱机工作”

build.gradle

apply plugin: 'com.android.application'

buildscript {
    repositories {
        mavenCentral()
        jcenter()
    }

    // Switch the Android Gradle plugin version requirement depending on the
    // installed version of Gradle. This dependency is documented at
    // http://tools.android.com/tech-docs/new-build-system/version-compatibility
    // and https://issues.apache.org/jira/browse/CB-8143
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
    }
}

// Allow plugins to declare Maven dependencies via build-extras.gradle.
allprojects {
    repositories {
        mavenCentral();
        jcenter()
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = '2.14.1'
    }

gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle- 
   5.1.1-all.zip

enter image description here

enter image description here 我该如何解决该问题?我该怎么做才能拥有功能Generated Signed Apk?

1 个答案:

答案 0 :(得分:1)

您必须在google()块中添加buildscript Maven存储库

buildscript {
    repositories {
        google()  // <-- add this
        mavenCentral()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
    }
}

它与您的问题无关,但对于其他依赖项,您也应该在allprojects块中添加相同的仓库

allprojects {
    repositories {
        google()// <-- add this. 
        jcenter()
    }
}

请注意wrapper任务with gradle 5.x

使用gradle 4.8弃用自定义wrapperinit任务,并在gradle 5.x中删除。尝试替换内置任务将产生类似于以下内容的错误:

  

无法添加任务“包装器”,因为该名称的任务已经存在。

为避免出现此问题,请执行以下操作:

task wrapper(type:Wrapper) {
    //configuration
}

执行以下操作:

wrapper {
    //configuration
}