android studio - 导入工程报错[Plugin with id 'com.android.application' not found]

出错现象:

大概意思是找不到:com.android.application 插件,以上现象对于初学者来说会经常碰到,下面分析下产生的原因。

原因分析

首先来看看导入后的工程结构:

对于此工程结构,是否有个疑问? 这是未正常同步完成的结构,Gradle Scripts下面似乎少了个 build.gradle ,上图红框部分描述清楚了是 Module: GraphicsDemo ,表示该 build.gradle 是Module的,而不是Project的。来看看一个正常的 Project+Module的工程是怎样的:

请注意红框位置,一个是Project, 一个是 Module 。这两个 build.gradle 究竟啥区别呢? 众所周知,Android Studio在组织工程结构的时候是以Project作为基础,可以在它的基础上创建多个Module,正如上图所示!不少开发人员在贡献自己的代码到Github或者CSDN下载频道的时候,就直接把Module 整个文件夹丟上去了,导致下载使用的人出现了上述错误现象。 究其原因,还是先了解下 两种类型 gradle文件的错用吧!

build.gradle(Project: xxxx)

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

// Top-level build file where you can add configuration options common to all sub-projects/modules.
// 优先级最高的build文件,先于Module的build.gradle执行
buildscript {
    repositories {
        jcenter() //指定maven镜像,下同
    }
    dependencies {
        classpath ‘com.android.tools.build:gradle:2.2.0‘ //指定classpath
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        jcenter()
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir //指定clean的时候清除掉指定目录
}

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

build.gradle(Module: xxx)

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

//注意:Gradle是通过插件来区分是可执行的工程还是libiary工程,下面表示可执行工程
apply plugin: ‘com.android.application‘
android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"
    defaultConfig {
        applicationId "mashen.graphicsdemo"
        minSdkVersion 17
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
        }
    }
}
dependencies {
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
    testCompile ‘junit:junit:4.12‘
    compile ‘com.android.support:appcompat-v7:23.4.0‘
}

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

解决方案:

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

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath ‘com.android.tools.build:gradle:2.2.0‘
        //注意:更换成自己的AS的版本
    }
}
allprojects {
    repositories {
        jcenter()
    }
}

查看gradle版本: Terminal —> gradle -v (前提是配置了环境变量)

本文转自:http://blog.csdn.net/seafishyls/article/details/53572939

android studio - 导入工程报错[Plugin with id 'com.android.application' not found]

时间: 2024-10-13 09:11:51

android studio - 导入工程报错[Plugin with id 'com.android.application' not found]的相关文章

android studio导入工程时遇到的问题

克隆android ar sdk, 用android studio   导入里面的samples 错误提示如下: Error:(1, 1) A problem occurred evaluating project ':app'. > java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0 android studio 2.0

android studio创建模拟器报错解决 emulator: ERROR: This AVD's configuration is missing a kernel file!!

android studio创建模拟器报错 emulator: ERROR: This AVD's configuration is missing a kernel file!! 的解决办法 原因有二:1 没有,解决办法通过sdk mangager 下载 2 找不到,解决办法看系统环境变量path(此种情况多数发生在android Studio和EclipseADT同时存在的情况下) 原因是在刚刚安装完毕的androidstudio的sdk目录下没有system-image目录,也许有但没有相

Android Studio集成SVN报错:can't use subversion command line client : svn

Android Studio集成SVN插件,check out出代码后,每次开启都会在右上角出现如下错误: Can't use Subversion command line client: svn Probably the path to Subversion executable is wrong. Fix it. Errors found while svn working copies detection. Fix it. 下面直接上解决方案吧: 1.安装客户端http://ncu.dl

android 编译错误 Error:(1, 0) Plugin with id 'com.android.application' not found.

在导入一个项目时,由于它本身的gradle版本比较高,你试用比较旧版本的gradle时就报出Plugin with id 'com.android.application' not found.的错误 如果出现如上错误,只需要在build.gradle中添加下面代码即可: (直接加在 android{ } 的外面) buildscript { repositories { jcenter() // or mavenCentral() } dependencies { classpath 'com

【Android】 导入项目报错的解决方案

1.打项目的properties -->android 为其指一个运版本, 2.修改default properties 文件 ,改相应版本等级 3.选中项目,单击右键,选中properties ,打开android 选中相应 sdk 4.project -->clean.      KO (blue moon 需指定 sdk 为Googles APIs ) Eclipse启动时在Android SDK Content Loader卡住 右击android工程-->Java Build

android studio 9.png 报错

Eclipse里能正常运行,但是导入到Android Studio里就报如下的错误 百度了下,说有两种解决办法一种是改后缀名,还有一种是重新在Android Studio里画一下点9图片.但是这个项目里有很多点9图片一个一个画得花很久时间,而且这些是美工画好给我的,我也不是很会画.

Android Studio 首次安装报错 Java.lang.RuntimeException:java.lang.NullPointerException...错

下次安装报:Java.lang.RuntimeException: java.lang.NullPointerException......错 只需在文件..\Android Studio\bin\idea.properties(需要对应自己的安装目录下)最后面加一行代码:disable.android.first.run=true  就可以完美解决问题了

android studio 导入工程问题总结

在github上下了几个开源项目,在导入android studio时出现各种问题, 在网上查询各种资料后一一得以解决,现对个问题点进行简单的总结: 1. gradle project sync failed: 出现此问题的原因是gradle更新失败,在C:\Documents and Settings\user\.gradle\wrapper\dists 目录中可看到需要更新的版本: 解决方法是手动下载相应版本的压缩包,然后把包放到对应的文件夹中,把文件夹中的其他文件都删掉, 再重新启动and

Android-解决Android Studio使用SVN报错:XXX不是工作副本(XXX is not working copy)

在Android Studio中,使用VCS -> Import into Version Control-> Import into Subversion 可以将Project中的某个Module上传至SVN服务器.但是,当Android Studio再次启动时就会报错:XXX不是工作副本(XXX is not working copy).这个错误的意思是,当前project下有若干文件不是从SVN上check out的.并且,在之前上传的Module中修改内容后也无法提交至SVN,提示&q