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
- buildToolsVersion "23.0.3"
- defaultConfig {
- applicationId "mashen.graphicsdemo"
- minSdkVersion
- targetSdkVersion
- versionCode
- 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]的更多相关文章
- android studio java工程 报错
作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com android studio java工程 ...
- android studio 导入工程问题总结
github上下了几个开源项目,在导入android studio时出现各种问题, 在网上查询各种资料后一一得以解决,现对个问题点进行简单的总结: 1. gradle project sync fai ...
- 导入android sdk samples工程报错"did you mean to use @+id instead of @+android:id?"
导入“D:\adt-bundle-windows-x86_64-20140702\sdk\samples\android-15”中的工程报错 did you mean to use @+id inst ...
- android studio使用部分报错处理
1.android studio 导入项目时Error:SSL peer shut down incorrectly 今天导入一个项目到studio,显示在下载一个一个1.1.0-rc4的东西. 过了 ...
- 【Android】 导入项目报错的解决方案
1.打项目的properties -->android 为其指一个运版本, 2.修改default properties 文件 ,改相应版本等级 3.选中项目,单击右键,选中properties ...
- android studio 9.png 报错
Eclipse里能正常运行,但是导入到Android Studio里就报如下的错误 百度了下,说有两种解决办法一种是改后缀名,还有一种是重新在Android Studio里画一下点9图片.但是这个项目 ...
- 解决小米手机Android Studio安装app 报错的问题It is possible that this issue is resolved by uninstalling an existi
问题描述 Android Studio升级到2.3版本之后,小米手机MIUI8不能运行Android Studio程序,报如下错误: Installation failed with message ...
- Android 解决小米手机Android Studio安装app 报错的问题It is possible that this issue is resolved by uninstalling an existi
Android Studio升级到2.3版本之后,小米手机MIUI8不能运行Android Studio程序,报如下错误: Installation failed with message Faile ...
- android 编译错误 Error:(1, 0) Plugin with id 'com.android.application' not found.
在导入一个项目时,由于它本身的gradle版本比较高,你试用比较旧版本的gradle时就报出Plugin with id 'com.android.application' not found.的错误 ...
随机推荐
- 自定义Cell引发的悲剧。。。。
这两天毕设,昨晚微调自定义的cell,之前用mrc的时候直接打开xib布局好自定义cell就行乐,不用去勾选Use Autolayout,可是昨晚开始,自定义cell中,label不能动态调高的问题, ...
- Git 对比 SVN
转自:http://www.aqee.net/5-fundamental-differences-between-git-svn/ 我是一开始就用Mercurial, Git这类的系统.(现在已经百分 ...
- Eureka的自我保护机制
最近项目在Kubernetes上使用Eureka遇到一些问题,在网站上找到一篇针对Eureka自我保护机制原理的文章,觉得不错,总结如下: Eureka的自我保护特性主要用于减少在网络分区或者不稳定状 ...
- 万里长征第二步——django个人博客(第五步 ——配置后台admin)
在urls.py文件中配置admin路径 from django.conf.urls import url from django.contrib import admin from blog.vie ...
- @RestController和@Controller的差异
SpringMVC现在使用越来越普及,在使用注解写控制器中发现,需要控制器页面跳转时,需要对类注解为@Controller,而此时,使用freemarker时,在类中写的restful接口会报cann ...
- hdu 4893Wow! Such Sequence!
多校第三场 7题..线段树A的 #include <cstdio> #include <cstring> #include <iostream> #include ...
- wampserver 下载链接没反应的解决办法
可能有很多小伙伴和我一样使用wampserver时,下载链接点击就是没有反应,当时我以为是因为网络原因,链接没有加载出来,或者是链接的请求不能得到响应,结果百度了一下才发现被“习惯”坑了一把,wamp ...
- Hadoop 伪分布式上安装 HBase
hbase下载:点此链接 (P.S.下载带bin的) 下载文件放入虚拟机文件夹,打开,放在自己指定的文件夹 -src.tar.gz -C /home/software/ 修改环境配置 gedit / ...
- PHPStorm Xdebug 反应很慢怎么办?
PHPStorm解决Xdebug Slow问题 PHPStorm Xdebug 反应很慢怎么办? 今天白天才架起PHPStorm+xdebug的调试环境,就遇到了各式各样的问题:访问超慢响应.访问超快 ...
- Shell 基本运算符(转)
Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 ...