无法解决 gradle 的外部依赖关系
Cannot resolve external dependency for gradle
我已经查看了许多关于类似问题的问题,但我找不到有效的解决方案。这可能是我在 android 开发方面缺乏经验,但我认为错误消息并不那么清楚。我试过:
- rebuilding/cleaning 项目,
- 使缓存无效/重新启动,同步
- 项目有 gradle 个文件,
- 我在设置中使用默认的 gradle 包装器,
关于如何解决这个问题有什么想法吗?
使用 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.properties
和 project/app/gradle/wrapper/gradle-wrapper.properties
中
将两个地方的 distributionUrl
更改为 https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
后,它起作用了。
我一开始并没有改变这些东西,为什么一开始就出现了这个问题?仅供日后参考。
我已经查看了许多关于类似问题的问题,但我找不到有效的解决方案。这可能是我在 android 开发方面缺乏经验,但我认为错误消息并不那么清楚。我试过:
- rebuilding/cleaning 项目,
- 使缓存无效/重新启动,同步
- 项目有 gradle 个文件,
- 我在设置中使用默认的 gradle 包装器,
关于如何解决这个问题有什么想法吗?
使用 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.properties
和 project/app/gradle/wrapper/gradle-wrapper.properties
将两个地方的 distributionUrl
更改为 https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
后,它起作用了。
我一开始并没有改变这些东西,为什么一开始就出现了这个问题?仅供日后参考。