android studio - 匯入工程報錯[Plugin with id 'com.android.application' not found]

來源:互聯網
上載者:User

標籤:xxxx   多個   uil   疑問   enabled   style   一個   rdf   查看   

 出錯現象:

大概意思是找不到: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]

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.