当前位置:   article > 正文

导入项目时遇到的plugin with id com.android.application not found问题解决方案_plugin with id 'com.android.application' not found

plugin with id 'com.android.application' not found.

出现这个问题主要是因为缺少build.gradle文件导致的。因为一般项目会有两个build.gradle文件。其作用如下:

build.gradle(Project: xxxx)

该文件是整个工程编译的全局文件,优先级最高 
源码如下:

  1. // Top-level build file where you can add configuration options common to all sub-projects/modules.
  2. // 优先级最高的build文件,先于Module的build.gradle执行
  3. buildscript {
  4. repositories {
  5. jcenter() //指定maven镜像,下同
  6. }
  7. dependencies {
  8. classpath 'com.android.tools.build:gradle:2.2.0' //指定classpath
  9. // NOTE: Do not place your application dependencies here; they belong
  10. // in the individual module build.gradle files
  11. }
  12. }
  13. allprojects {
  14. repositories {
  15. jcenter()
  16. }
  17. }
  18. task clean(type: Delete) {
  19. delete rootProject.buildDir //指定clean的时候清除掉指定目录
  20. }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

从上述的注释可以看出该文件的作用: 
1. 编译工程最顶级的文件,优先级最高; 
2. 指定maven仓库地址,gradle相关的包是从maven拉取下来的; 
3. 指定 classpath,不然无法找到某些类,标题出现的问题就是这个原因。

build.gradle(Module: xxx)

该文件是某个Module编译时候用到的文件 
源码如下:

  1. //注意:Gradle是通过插件来区分是可执行的工程还是libiary工程,下面表示可执行工程
  2. apply plugin: 'com.android.application'
  3. android {
  4. compileSdkVersion 23
  5. buildToolsVersion "23.0.3"
  6. defaultConfig {
  7. applicationId "mashen.graphicsdemo"
  8. minSdkVersion 17
  9. targetSdkVersion 22
  10. versionCode 1
  11. versionName "1.0"
  12. }
  13. buildTypes {
  14. release {
  15. minifyEnabled false
  16. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  17. }
  18. }
  19. }
  20. dependencies {
  21. compile fileTree(dir: 'libs', include: ['*.jar'])
  22. testCompile 'junit:junit:4.12'
  23. compile 'com.android.support:appcompat-v7:23.4.0'
  24. }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

这里面的配置都是大家耳熟能详的了,重点看看第一行,apply plugin: ‘com.android.application’ 表示当前Module是可执行工程。 然而找不到这个插件,原因就是 com.android.application 来源于 com.android.tools.build:gradle:2.2.0 。 这下估计都明白了!

解决方案:

将build.gradle里面的配置脚本拷贝到Module下的 build.gradle里面,也就是下面的脚本:

  1. buildscript {
  2. repositories {
  3. jcenter()
  4. }
  5. dependencies {
  6. classpath 'com.android.tools.build:gradle:2.2.0'
  7. //注意:更换成自己的AS的版本
  8. }
  9. }
  10. allprojects {
  11. repositories {
  12. jcenter()
  13. }
  14. }
并且新建一个gradle.properties文件,并加上一句android.overridePathCheck=true,然后再重新编译即可
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/119204
推荐阅读
相关标签
  

闽ICP备14008679号