Android Studio 3.0 Beta 1:解析失败:com.android.support:multidex:1.0.2
Android Studio 3.0 Beta 1: Failed to resolve: com.android.support:multidex:1.0.2
从 Android Studio 3.0 (Canary 5) 迁移到 Android Studio 3.0 (Beta 1),并移动到最新的 gradle 之后,即 'com.android.tools.build:gradle:3.0.0-beta1'
当我尝试 gradle 同步时,出现以下错误。
Failed to resolve: com.android.support:multidex:1.0.2
Failed to resolve: com.android.support:multidex-instrumentation:1.0.2
我检查了 ,它没有解决我的问题,因为我已经有了这个
maven {
url 'https://maven.google.com'
}
我很惊讶它甚至要求 multidex 1.0.2,因为我只有 build.gradle
compile 'com.android.support:multidex:1.0.1'
我使用 ./gradlew app:dependencies | grep multidex
检查,它显示失败如下(各种风格等)
+--- com.android.support:multidex-instrumentation:1.0.2 FAILED
+--- com.android.support:multidex:1.0.1
+--- com.android.support:multidex:1.0.2 FAILED
+--- com.android.support:multidex:1.0.1 -> 1.0.2 FAILED
multidex:1.0.2
和multidex-instrumentation:1.0.2
的依赖从哪里来的?我该如何解决这个问题?
首先您需要清理项目,然后重建它。
构建 ----> 清理项目
构建 ----> 重建项目
显然我的问题是我应该 post 这个:
maven {
url 'https://maven.google.com'
}
在 allprojects
中而不是在 buildscript
中(细微的差异让我看不清问题所在),然后看起来像这样:
allprojects {
repositories {
maven {
url 'https://maven.google.com'
}
}
}
感谢MD指点!
如果你在中国,
请使用
allprojects {
respositories {
google()
}
}
改为
allprojects {
respositories {
maven {
url 'https://maven.google.com'
}
}
}
不要问我为什么,我不想告诉你....可能'https://maven.google.com'被GFW选中了?
allprojects {
repositories {
google()
}
}
为我工作而不是
allprojects {
repositories {
maven {
url 'https://maven.google.com'
}
}
}
如果上述解决方案中的 none 有效,则添加 mavenLocal()
:
allprojects {
repositories {
jcenter()
maven {
url 'https://maven.google.com'
}
mavenLocal()
google()
}
}
将所有 gradle 依赖项更新到最新版本..
就这样
对我来说,解决方案是将 google() 项目向上移动以确保它在 jcenter()[=15= 之前].实际上,我会将 google() 放在所有存储库的第一位。
还需要添加以下内容:
compile 'com.android.support:multidex:1.0.3'
添加上述行后,除了上述答案外,它对我有用
在我的所有项目中添加 google() 解决了我的问题...
allprojects {
repositories {
jcenter()
google()
}
}
我的问题是网络连接。我需要连接到 vpn 服务器才能连接到 jcenter
向上移动 google() 项目以确保它在 jcenter() 之前。
repositories {
jcenter()
google()
}
从 Android Studio 3.0 (Canary 5) 迁移到 Android Studio 3.0 (Beta 1),并移动到最新的 gradle 之后,即 'com.android.tools.build:gradle:3.0.0-beta1'
当我尝试 gradle 同步时,出现以下错误。
Failed to resolve: com.android.support:multidex:1.0.2
Failed to resolve: com.android.support:multidex-instrumentation:1.0.2
我检查了
maven {
url 'https://maven.google.com'
}
我很惊讶它甚至要求 multidex 1.0.2,因为我只有 build.gradle
compile 'com.android.support:multidex:1.0.1'
我使用 ./gradlew app:dependencies | grep multidex
检查,它显示失败如下(各种风格等)
+--- com.android.support:multidex-instrumentation:1.0.2 FAILED
+--- com.android.support:multidex:1.0.1
+--- com.android.support:multidex:1.0.2 FAILED
+--- com.android.support:multidex:1.0.1 -> 1.0.2 FAILED
multidex:1.0.2
和multidex-instrumentation:1.0.2
的依赖从哪里来的?我该如何解决这个问题?
首先您需要清理项目,然后重建它。
构建 ----> 清理项目
构建 ----> 重建项目
显然我的问题是我应该 post 这个:
maven {
url 'https://maven.google.com'
}
在 allprojects
中而不是在 buildscript
中(细微的差异让我看不清问题所在),然后看起来像这样:
allprojects {
repositories {
maven {
url 'https://maven.google.com'
}
}
}
感谢MD指点!
如果你在中国, 请使用
allprojects {
respositories {
google()
}
}
改为
allprojects {
respositories {
maven {
url 'https://maven.google.com'
}
}
}
不要问我为什么,我不想告诉你....可能'https://maven.google.com'被GFW选中了?
allprojects {
repositories {
google()
}
}
为我工作而不是
allprojects {
repositories {
maven {
url 'https://maven.google.com'
}
}
}
如果上述解决方案中的 none 有效,则添加 mavenLocal()
:
allprojects {
repositories {
jcenter()
maven {
url 'https://maven.google.com'
}
mavenLocal()
google()
}
}
将所有 gradle 依赖项更新到最新版本.. 就这样
对我来说,解决方案是将 google() 项目向上移动以确保它在 jcenter()[=15= 之前].实际上,我会将 google() 放在所有存储库的第一位。
还需要添加以下内容:
compile 'com.android.support:multidex:1.0.3'
添加上述行后,除了上述答案外,它对我有用
在我的所有项目中添加 google() 解决了我的问题...
allprojects {
repositories {
jcenter()
google()
}
}
我的问题是网络连接。我需要连接到 vpn 服务器才能连接到 jcenter
向上移动 google() 项目以确保它在 jcenter() 之前。
repositories {
jcenter()
google()
}