Android Studio中com.android.application插件缺失致应用无法构建求助
解决Android Studio提示
com.android.application插件缺失的构建问题 我看你遇到的麻烦了——Android Studio一直提示com.android.application插件找不到,你更新插件后还是报构建配置错误,这大概率是你的根目录build.gradle文件存在语法错误,导致Gradle无法正确识别插件依赖配置。
先看看你提供的代码:
//this is my build.gradle file, plz help. def var = buildscript { ext.kotlin_version = '1.2.30' repositories { google() maven { url "https://maven.google.com" } jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } } apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions'
这里的核心问题有两个:
- 错误地把
buildscript块赋值给了def var变量,这会打乱Gradle的配置解析逻辑,导致插件依赖无法被正常加载; allprojects配置块和clean任务不该嵌套在buildscript内部,它们属于根项目的顶级配置。
修正后的根目录build.gradle代码
// 根目录build.gradle buildscript { ext.kotlin_version = '1.2.30' repositories { google() maven { url "https://maven.google.com" } jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }
模块级build.gradle的正确配置(通常是app/build.gradle)
插件应用的代码应该放在模块级的配置文件里,同时保留Android相关配置和依赖:
// 模块级build.gradle apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 28 // 替换为你实际使用的SDK版本 defaultConfig { applicationId "com.your.package.name" minSdkVersion 19 targetSdkVersion 28 versionCode 1 versionName "1.0" } // 其他Android配置(比如buildTypes、productFlavors等) } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // 你的其他依赖库 }
后续操作步骤
- 按照上面的代码修正根目录和模块级的
build.gradle文件; - 点击Android Studio工具栏的Sync Project with Gradle Files按钮同步项目;
- 执行Build > Clean Project,完成后再执行Build > Rebuild Project。
另外提一句,你用的com.android.tools.build:gradle:3.1.2版本比较老旧,等当前问题解决后,如果想更新插件,记得要保证Gradle wrapper版本和插件版本兼容(比如插件3.1.2对应Gradle 4.4版本)。
内容的提问来源于stack exchange,提问作者Rishabh Kumar Bhardwaj
相关产品推荐
相关产品推荐

