Android项目中无法在App级Gradle文件获取AppCompat版本的问题
解决AppCompat版本无法获取的问题
我来帮你搞定这个依赖配置的问题,先看看问题出在哪:你的AppCompat依赖声明没写完,还用到了已经废弃的关键字,这才导致Gradle没法正确获取版本。
问题拆解
- 你用了过时的
compile关键字,现在Android Gradle插件官方推荐用implementation来声明依赖 - AppCompat依赖的版本号不完整,Gradle根本不知道该下载哪个具体版本的库
修复后的完整代码
直接把你的App级build.gradle替换成下面的配置,同步Gradle就能解决问题:
apply plugin: 'com.android.application' android { compileSdkVersion 26 defaultConfig { applicationId "com.mansi.mymini" minSdkVersion 18 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']) // 补全AppCompat完整版本号,和compileSdkVersion保持一致是最佳实践 implementation 'com.android.support:appcompat-v7:26.1.0' // 可选:如果需要保留测试依赖,可以加上这两行 implementation 'com.android.support.test:runner:1.0.2' implementation 'com.android.support.test.espresso:espresso-core:3.0.2' }
额外注意点
- 版本要匹配:AppCompat的版本号必须和你的
compileSdkVersion(这里是26)保持一致,不然会出现编译报错。以后升级compileSdkVersion时,记得同步更新AppCompat版本。 - 仓库配置要正确:确保根级build.gradle里已经配置了Google仓库,不然Gradle找不到依赖包:
buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.0.1' // 对应compileSdk 26的gradle版本 } } allprojects { repositories { google() jcenter() } }
做完这些操作后,点击Android Studio里的"Sync Project with Gradle Files"按钮,就能正常获取到AppCompat库了。
内容的提问来源于stack exchange,提问作者mansi s
相关产品推荐
相关产品推荐

