Android Studio 3编译报错:找不到classpath()方法
解决Gradle classpath方法找不到的错误
嘿,我一眼就看出问题所在啦!你把Gradle插件的classpath声明放错位置了——它不该出现在Module:app的build.gradle文件里,而是要放在项目根目录的build.gradle中。
错误原因
classpath 'com.android.tools.build:gradle:3.0.1' 是用来指定Gradle构建工具本身的依赖,属于项目级配置,必须放在根目录build.gradle的buildscript代码块内。而你现在把它放到了App模块的依赖里,Gradle自然找不到对应的方法。
修复步骤
- 打开项目根目录的
build.gradle(注意:这个文件不在app文件夹里,是项目最外层的那个build.gradle文件) - 修改该文件,将
classpath配置放到buildscript的dependencies块中,示例代码如下:
buildscript { repositories { google() jcenter() // 如果你的项目仍需要此仓库可以保留 } dependencies { classpath 'com.android.tools.build:gradle:3.0.1' } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }
- 回到Module:app的
build.gradle,删除dependencies块里的classpath 'com.android.tools.build:gradle:3.0.1'这一行,修改后的文件内容应该是这样:
apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion '27.0.3' defaultConfig { applicationId "ir.chistaapplication.www.myapplication20" minSdkVersion 15 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 { // 这里放App所需的依赖,比如 implementation 'com.android.support:appcompat-v7:26.1.0'(根据你的需求添加) }
- 点击Android Studio右上角的Sync Now按钮,同步项目后错误就应该消失了。
内容的提问来源于stack exchange,提问作者alireza
相关产品推荐
相关产品推荐

