Android Studio: nie znaleziono wtyczki o identyfikatorze „android-library”

150

Próbowałem zmusić ActionBarSherlock do działania i mam jakiś problem. Jednym z problemów, na które natknąłem się, jest następujący komunikat podczas próby jego zbudowania:

Plugin with id 'android-library' not found

Konkretnie:

D:\Projects\Android\actionbarsherlock>D:\Projects\Android\gradlew --info build
Starting Build
Settings evaluated using empty settings script.
Projects loaded. Root project using build file 
  'D:\Projects\Android\actionbarsherlock\build.gradle'.
Included projects: [root project 'actionbarsherlock']
Evaluating root project 'actionbarsherlock' using build file 
  'D:\Projects\Android\actionbarsherlock\build.gradle'.

FAILURE: Build failed with an exception.

* Where:
Build file 'D:\Projects\Android\actionbarsherlock\build.gradle' line: 1

* What went wrong:
A problem occurred evaluating root project 'actionbarsherlock'.
> Plugin with id 'android-library' not found.

Traktuję to jako problem z ABS w osobnym wątku, więc tutaj jestem ciekawy, jak rozwiązać ogólny problem:

Plugin with id 'android-library' not found

Oto build.gradle:

apply plugin: 'android-library'

dependencies {
  compile 'com.android.support:support-v4:18.0.+'
}

android {
  compileSdkVersion 14
  buildToolsVersion '17.0.0'

  sourceSets {
    main {
      manifest.srcFile 'AndroidManifest.xml'
      java.srcDirs = ['src']
      res.srcDirs = ['res']
    }
  }
}

Możesz pomóc?

Michael
źródło

Odpowiedzi:

263

Poinstruuj Gradle, aby pobrać wtyczkę dla Androida z repozytorium Maven Central.

Robisz to, wklejając następujący kod na początku pliku kompilacji Gradle:

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

Zastąp ciąg 1.0.+wersji najnowszą wersją. Wydane wersje wtyczki Gradle można znaleźć w oficjalnym repozytorium Maven lub w wyszukiwarce artefaktów MVNRepository .

Grzegorz Żur
źródło
Aby uzyskać bardziej aktualne informacje, zdecydowanie zalecamy wyższy numer wersji com.android.tools, o czym wspomniał również @Elenasys w późniejszej odpowiedzi. W przeciwnym razie możesz napotkać
RenniePet
1
Musiałem dodać to do pliku build.gradle mojego projektu , dodanie go do jednego pliku gradle modułu nie pomogło
syonip
Skąd mam wiedzieć, do której wersji Gradela pobrałem? Btw 1.1.1 działa dla mnie
Binil Jacob
2
@binil To jest wersja wtyczki Gradle dla Androida, a nie sama Gradle. Wszystkie wersje są wymienione w repozytorium Maven mvnrepository.com/artifact/com.android.tools.build/gradle Aby wyświetlić zależności kompilacji uruchomgradle buildEnvironment
Grzegorz Żur
Ta odpowiedź stackoverflow.com/a/48451418/2186220 , w samym tym wątku działała dla mnie od sierpnia 2019 r.
Bot
28

Tak dla porządku (zajęło mi to trochę czasu) zanim odpowiedź Grzegorza zadziałała, musiałem zainstalować " repozytorium wsparcia dla Androida " przez SDK Managera!

Zainstaluj go i dodaj powyższy kod zastosuj wtyczkę: 'android-library' w folderze build.gradle folderu actionbarsherlock!

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.+'
    }
}
Langusten Gustel
źródło
@beworker Mam już zainstalowane „repozytorium wsparcia dla Androida”, ale nadal ten sam problem: „Błąd: (1, 0) Nie znaleziono wtyczki o identyfikatorze 'android'”
Sunishtha Singh
10

W późniejszych wersjach wtyczka zmieniła nazwę na:

apply plugin: 'com.android.library'

Jak już wspomniano w niektórych innych odpowiedziach, potrzebujesz narzędzi do oceniania, aby z nich korzystać. Korzystając z 3.0.1, musisz użyć repozytorium google, a nie mavenCentral lub jcenter:

buildscript {
    repositories {
        ...
        //In IntelliJ or older versions of Android Studio
        //maven {
        //   url 'https://maven.google.com'
        //}
        google()//in newer versions of Android Studio
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}
Zoe
źródło
6

Użyj mavenCentral()lub jcenter()dodaj do build.gradlepliku skrypt:

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'   
    }
}
Jorgesys
źródło
1

Dodaj poniższe do build.gradlemodułu projektu:

// Plik kompilacji najwyższego poziomu, w którym można dodać opcje konfiguracji wspólne dla wszystkich podprojektów / modułów.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'

        // 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
}
Hasan A Yousef
źródło