2015-11-03 5 views
6

が見つかりません:Gradleのエラー:IDを持つプラグイン「com.android.library」私は、私は次のGradleエラーを取得しています、アンドロイドStudioでのAndroidライブラリプロジェクトを構築しようとしていますときに

Gradle sync failed: Plugin with id 'com.android.library' not found. 

私はGradleにとってかなり新しく、これは私にとって非常に混乱しています。なぜこうなった?次のように

build.gradleファイルには、次のとおりです。

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 23 
     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.1.0' 
} 
+0

build.gradleファイルをルートフォルダに投稿します。 –

+0

上記の貼り付けたファイルは、ルートフォルダのファイルです。 – jackofblades

+2

それは問題です。間違ったbuild.gradleを使用しています。下の私の答えをチェックしてください。 –

答えて

12

あなたの問題は、この種のプラグインを使用できないトップレベルのファイルを使用していることです。あなたのlib/build.gradleあなたはに投稿されたコードを使用することができて

// Top-level build file where you can add configuration options common to all sub-projects/modules. 
buildscript { 
    repositories { 
     jcenter() 
    } 

    dependencies { 
     classpath 'com.android.tools.build:gradle:1.3.1' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

:あなたが使用することができますトップレベルファイルで

Root/ 
+ lib 
    | build.gradle 
| build.gradle 
| settings.gradle 

:あなたはこのような構造を持っているとして

質問:

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 23 
     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.1.0' 
} 

最後にsettings.gradle

include ':lib' 

また、あなたはthis questionを参照することができます。

+0

ありがとうございました! – jackofblades

+0

ありがとう@ガブリエル。 < 'dependencies { classpath 'com.android.tools.build:gradle:1.3.1' }' は、com.android.libraryパッケージを含むAndroidツールライブラリを取得するようGradleに指示します。リポジトリ詳細: 'リポジトリ{ jcenter() }' – WillC

2

では、次のような標準のプロジェクト構造を持っていると仮定すると:同期する

yourProject/ 
+ .idea/ 
+ gradle/wrapper/ 
+ lib-module/ 
    | build.gradle 
| build.gradle 
| gradlew 
| gradlew.bat 
| settings.gradle 

あなたの失敗は、あなたのSDKに問題があることを示しているように見えます/ IDEの設定。

「プロジェクトの構造」ダイアログを開き、「Android SDKの場所:」の値が正しいパスに設定されていることを確認します。

第2に、SDKマネージャを開いて、正しいSDKロケーションパスが設定されていることを再度確認します。

「Android SDK Build-Tools」パッケージの正しいバージョンがインストールされていることを確認します。 (この場合は23.0.2)

最後にちょうど私たちがどんな悪い状態を持っていないことを確認するために私は、ファイルから「無効化と再起動」を行うことをお勧め - >「無効化キャッシュ/再起動...」

この後、私はそれが同期するべきだと思っています。そうでない場合は、プロジェクトのルートから./gradlewを実行して、新しい情報で私たちを更新してください。

+0

私は上記のすべての手順に従った。私のSDKのパスは正しく、バージョン23.0.2のAndroid SDK Build-Toolsがインストールされています。私は '。/ gradlew'も走った。それは問題を解決しませんでした。私はまだ同じ同期エラーが発生します。 – jackofblades

0
buildscript { 
repositories { 
    mavenCentral() 
} 
dependencies { 
    classpath 'com.android.tools.build:gradle:1.3.0' } 
} 

apply plugin: 'com.android.library' 

これらの行をライブラリのgradleファイルに追加します。

0

私の場合は、local.propertiesファイル内のsdk/ndkパスが間違っていたため、プロジェクトをhdから別の場所に移動しました。これらの設定は間違っていて、問題を修正したパスを修正しました。

関連する問題