无法解决 gradle 的外部依赖关系

Cannot resolve external dependency for gradle

我已经查看了许多关于类似问题的问题,但我找不到有效的解决方案。这可能是我在 android 开发方面缺乏经验,但我认为错误消息并不那么清楚。我试过:

关于如何解决这个问题有什么想法吗?

使用 Android Studio 版本:3.4.1

应用:Build.gradle

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.app.jokr.dogpark"
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'com.google.firebase:firebase-storage:17.0.0'
    implementation 'com.google.firebase:firebase-core:16.0.9'
    implementation 'com.google.firebase:firebase-firestore:19.0.0'
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:2.0.0-beta1'
    testImplementation 'junit:junit:4.13-beta-3'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support:cardview-v7:28.0.0'
}

buildscript {
    ext {
        var = '3.3.2'
    }
    dependencies {
        classpath 'com.android.tools.build:gradle'
    }
}

apply plugin: 'com.google.gms.google-services'

项目:Build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext.kotlin_version = '1.3.31'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.google.gms:google-services:4.2.0'
        classpath 'com.android.tools.build:gradle:3.4.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

gradle-wrapper.properties:

#Mon May 20 12:04:18 CEST 2019
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

构建失败并且 returns:

Cannot resolve external dependency com.android.tools.build:gradle because no repositories are defined.

删除无意义的部分:

buildscript {
    ext {
        var = '3.3.2'
    }
    dependencies {
        classpath 'com.android.tools.build:gradle'
    }
}

好的,按照你说的做,删除这个:

buildscript {
    ext {
        var = '3.3.2'
    }
    dependencies {
        classpath 'com.android.tools.build:gradle'
    }
}

从应用程序 build.gradle 文件中我得到了更好的错误消息:

Gradle sync failed: Minimum supported Gradle version is 5.1.1. Current version is 4.6. If using the gradle wrapper, try editing the distributionUrl in c:/local_directory

我能够搜索 4.6 的项目并找到两个 gradle 包装文件,一个在 project/gradle/wrapper/gradle-wrapper.propertiesproject/app/gradle/wrapper/gradle-wrapper.properties

将两个地方的 distributionUrl 更改为 https\://services.gradle.org/distributions/gradle-5.1.1-all.zip 后,它起作用了。

我一开始并没有改变这些东西,为什么一开始就出现了这个问题?仅供日后参考。