it-roy-ru.com

Ошибка Gradle в Android Studio: плагин с идентификатором com.Android.library не найден

Когда я пытаюсь создать проект библиотеки Android в Android Studio, я получаю следующую ошибку Gradle:

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'
}
7
jackofblades

Ваша проблема в том, что вы используете файл top-level, где вы не можете использовать этот вид плагина.

В AS у вас есть такая структура:

Root/
 + lib
    | build.gradle
 | build.gradle
 | settings.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()
    }
}

В вашем lib/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'
}

Наконец в вашем settings.gradle

include ':lib'

Также вы можете обратиться этот вопрос .

13
Gabriele Mariotti

Предполагая, что у вас есть стандартная структура проекта, как показано ниже:

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

Ваша ошибка синхронизации, кажется, указывает на проблему с вашей конфигурацией SDK/IDE.

Начните с открытия диалогового окна «Структура проекта» и убедитесь, что для значения «Android SDK location:» задан правильный путь.

Во-вторых, откройте диспетчер SDK и снова убедитесь, что у вас установлен правильный путь расположения SDK.

В-третьих, убедитесь, что у вас установлена ​​правильная версия пакета Android SDK Build-Tools. (23.0.2 в этом случае)

Наконец, просто чтобы убедиться, что у нас нет плохого состояния, я рекомендую сделать «Invalidate and Restart» из File -> «Invalidate Caches/Restart ...» 

После всего этого я ожидаю, что это должно синхронизироваться. Если нет, попробуйте запустить ./gradlew из корня вашего проекта и обновите нас любой новой информацией. 

2
TrevJonez

В моем случае это было связано с неправильными путями sdk/ndk внутри файла local.properties, я переместил проект с жесткого диска на другой, и эти настройки были неправильными, исправление путей решило проблему.

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

apply plugin: 'com.Android.library'

Добавьте эти строки в файл библиотеки.

0
Jose Jithin Stanly