无法在 Android Studio 新项目中解析 com.android.support:appcompat-v7:26.1.0
Posted
技术标签:
【中文标题】无法在 Android Studio 新项目中解析 com.android.support:appcompat-v7:26.1.0【英文标题】:Could not resolve com.android.support:appcompat-v7:26.1.0 in Android Studio new project 【发布时间】:2018-05-07 00:09:28 【问题描述】:我知道这些问题:
Failed to resolve: com.android.support:cardview-v7:26.0.0 android
Could not resolve com.android.support:appcompat-v7:26.1.0 [duplicate]
我已经阅读了这些文档:
Migrate to Android Plugin for Gradle 3.0.0
Migrating to Android 8.0
所以我发布了这个问题,相信它不是重复的。
我已经安装了 Android Studio 3.0.1。我之前没有任何以前的版本,我开始了一个新项目。
Gradle 文件中的每个设置都是由 Android Studio 自己设置的,我已经全部检查过了。
这些是文件内容:
build.gradle(模块:app)
apply plugin: 'com.android.application'
android
compileSdkVersion 26
defaultConfig
applicationId "com.example.administrator.as301test"
minSdkVersion 16
targetSdkVersion 26
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 fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:design:26.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
*** build.gradle
buildscript
repositories
google()
jcenter()
dependencies
classpath 'com.android.tools.build:gradle:3.0.1'
// 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
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
我在存储库中使用google()
,因为here 明确表示:
// If you're using a version of Gradle lower than 4.1, you must instead use: // maven // url 'https://maven.google.com' //
我的 gradle 版本是 4.1,所以我不需要上面的代码。
但正如其他人一直在询问的那样,我仍然收到此错误:
错误:无法解析 ':app@debug/compileClasspath' 的依赖关系: 无法解析 com.android.support:appcompat-v7:26.1.0。
当我在AS 3.0.1
中创建一个新项目并且已经设置了所有必要的设置时,为什么会出现此错误?
更新
@Rohit 的回答以某种方式解决了这个问题,但对于其他一些依赖项,我仍然遇到同样的错误。
无法解析 com.android.support.test:runner:1.0.1
无法解决 com.android.support.test.espresso:espresso-core:3.0.1
无法解析 junit:junit:4.12
【问题讨论】:
测试用例改变你的buildToolsVersion "26"
而不是 implementation
关键字也尝试使用 compile
@Prem 与buildToolsVersion "25"
的错误相同
@AlexJolig 更改为 26
取消选中文件->设置->构建、执行、部署->Gradle中的Offline work
选项
【参考方案1】:
最后我通过像这样修改build.gradle
解决了这个问题:
android
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig
minSdkVersion 16
targetSdkVersion 26
dependencies
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:design:26.1.0'
我已删除这些行,因为它们会产生更多错误:
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
在将现有项目从 2.3 迁移到 3.0.1 以及像这样修改项目 gradle 文件时,我也遇到了同样的问题,我想出了一个可行的解决方案:
build.gradle(模块应用)
android
compileSdkVersion 27
buildToolsVersion "27.0.1"
defaultConfig
applicationId "com.mobaleghan.tablighcalendar"
minSdkVersion 16
targetSdkVersion 27
dependencies
implementation 'com.android.support:appcompat-v7:25.1.0'
implementation 'com.android.support:design:25.1.0'
implementation 'com.android.support:preference-v7:25.1.0'
implementation 'com.android.support:recyclerview-v7:25.1.0'
implementation 'com.android.support:support-annotations:25.1.0'
implementation 'com.android.support:support-v4:25.1.0'
implementation 'com.android.support:cardview-v7:25.1.0'
implementation 'com.google.android.apps.dashclock:dashclock-api:2.0.0'
*** build.gradle
buildscript
repositories
google()
jcenter()
dependencies
classpath 'com.android.tools.build:gradle:3.0.1'
allprojects
repositories
google()
jcenter()
【讨论】:
您的build.gradle
文件中的constraint
和layout
之间的空间是故意的吗?
@RobRose 哎呀!那一定是个错误。修好了!
BuildToolsVersion 26
是必要的吗?
@lololololol 您必须包含BuildToolsVersion
。版本取决于哪一个适合您
在存储库容器上找不到参数 [] 的方法 google()。我收到此错误。【参考方案2】:
goto Android->sdk->build-tools 目录确保您拥有所需的所有版本。如果没有,请下载它们。在那之后 转到 File-->Settigs-->Build,Execution,Depoyment-->Gradle
选择使用默认的 gradle wapper(推荐)
并取消勾选离线工作
一旦您可以更改设置,gradle 构建就会成功完成
如果它不能简单地解决问题
检查此链接以找到适当的支持库修订版
https://developer.android.com/topic/libraries/support-library/revisions
确保编译的sdk和目标版本与支持库版本相同。 建议在第一次构建时至少保持网络连接(记得在这样做之后重新构建您的项目)
【讨论】:
【参考方案3】:试试这个:
android
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig
targetSdkVersion 26
compile 'com.android.support:appcompat-v7:25.1.0'
它对我有用
【讨论】:
我不确定,但我想这对一些错误有效。对Could not resolve com.android.support.test:runner:1.0.1
有什么建议吗?
这是有道理的,因为根据developer.android.com/studio/releases/build-tools.html,26.1.0 尚未发布。这似乎是 AS 3.0.1 中的一个错误
@AlexJolig , com.android.support.test:runner:1.0.0 或其他版本【参考方案4】:
我尝试了以上所有方法,但没有任何效果。
然后我按照 Gradle Settings > Build Execution, Deployment > Gradle > Android Studio 并选中“禁用嵌入式 Maven 存储库”。
检查了这个,问题就解决了。
【讨论】:
哇,这也为我做了。有谁知道为什么会这样?现在构建似乎需要更长的时间......我也在使用 Kotlin,以防万一帮助其他人。【参考方案5】:去 文件\设置\Gradle。取消选择“离线工作”框。现在您可以连接并 下载任何必要或缺少的依赖项
【讨论】:
【参考方案6】:您的 android studio 可能忘记输入: 构建工具版本“26.0.0” 你需要'buildTools'来开发相关的设计和java文件。如果 Android->sdk->build-tools 目录下没有安装任何 buildTools 则先下载。
【讨论】:
在 gradle(Module) 文件中 compileSdkVersion 后添加 buildToolsVersion "26.0.0"。 在compileSdkVersion 26
下添加buildToolsVersion "26.0.2"
,没有帮助。我仍然遇到同样的错误。
然后检查您的 Android->sdk->build-tools 目录,其中包含您已安装的构建工具版本。
我安装了27.0.1
、26.0.2
和25.0.2
版本
好的。在 implementation 的地方添加 compile,在 testImplementation 的地方添加 testCompile,在 androidTestImplementation 的地方添加 androidTestCompile。【参考方案7】:
从另一个网站得到了这个答案,不想为此而受到任何赞扬,但这个解决方案就像黄油一样工作。
转到文件\设置\Gradle。取消选择“离线工作”框。现在您可以连接并下载任何必要或缺少的依赖项。
【讨论】:
已经在这里发布的***.com/a/48848256/101361 的附加值是什么?您的答案部分是它的逐字副本 好吧,我没看到那个,我从另一个站点得到这个,这就是为什么我说我从另一个站点得到这个答案并且没有为此获得任何功劳。另外,如果有人访问此链接而不是那个链接,那么他将在这里看到他的解决方案。他不必再搜索或在任何地方搜索。【参考方案8】:这对我有用。在 android\app\build.gradle 文件中您需要指定以下内容
compileSdkVersion 26
buildToolsVersion "26.0.1"
然后找到这个
compile "com.android.support:appcompat-v7"
并确保它说
compile "com.android.support:appcompat-v7:26.0.1"
【讨论】:
Excelente amigo muchas gracias me sirvio【参考方案9】:好吧,这是一个错误的方法,但如果你这样使用它:
compile "com.android.support:appcompat-v7:+"
Android Studio 将使用它拥有的最新版本。
在我的情况下是 26.0.0alpha-1。
您可以在外部库中看到使用的版本(在项目视图中)。
我尝试了一切,但无法使用高于 26.0.0alpha-1 的任何内容,看来我的 IP 已被 Google 阻止。任何想法?评论
【讨论】:
【参考方案10】:在我的情况下,当我尝试使用 gridView 时会发生此错误
我通过从 build.grade(Module) 文件中删除这一行来解决它
implementation 'com.android.support:gridlayout-v7:28.0.0-alpha3'
【讨论】:
【参考方案11】:这个问题好像如下。
How to resolve repository certificate error in Gradle build
以下步骤可能会有所帮助:
1.将证书添加到密钥库-
从 Android Studio 的 cacerts 中将一些认证导入 Android Studio JDK cacerts。
Android Studio 的 cacerts 可能位于
your-home-directory/.AndroidStudio3.0/system/tasks/cacerts
我使用了以下导入命令。
$ keytool -importkeystore -v -srckeystore src cacerts -destkeystore dest cacerts
2。将修改后的 cacert 路径添加到 gradle.properties-
systemProp.javax.net.ssl.trustStore=your-android-studio-directory\\jre\\jre\\lib\\security\\cacerts
systemProp.javax.net.ssl.trustStorePassword=changeit
参考:https://www.cresco.co.jp/blog/entry/2014//
【讨论】:
【参考方案12】:尝试清除 android studio 中的缓存 文件-> 无效缓存-> 无效 无效后 构建-> 清理项目 然后你就可以构建项目了
【讨论】:
【参考方案13】:这对我有用
compile 'com.android.support:appcompat-v7:26.0.0'
将 26.0.0 更改为 26.0.1
compile 'com.android.support:appcompat-v7:26.0.1'
【讨论】:
【参考方案14】:这对我有用。在 app/build.gradle 中添加configurations.all
android
configurations.all
resolutionStrategy.force 'com.android.support:support-annotations:27.1.1'
【讨论】:
以上是关于无法在 Android Studio 新项目中解析 com.android.support:appcompat-v7:26.1.0的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Android Studio 2.0 中解析符号 R [重复]
Android Studio 无法解析自定义项目布局中的 androidTestImplementation 依赖项
无法在Android Studio中解析符号'annotation'?
Android Studio 3.0:无法解析:app@dexOptions/compileClasspath'的依赖关系:无法解析项目:animators