Android Studio - Grandle Plugin - method not found: compile()

  • Antworten:7
  • Bentwortet
Gelöschter Account
  • Forum-Beiträge: 72

20.05.2016, 18:04:07 via Website

Hallo,

seit ich die com.mikepenz:aboutlibraries in meinem Projekt eingebunden habe bekomme ich Compiler Fehler:

image

Anbei meine build.grandle:

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

allprojects {
repositories {
jcenter()
}
}

apply plugin: 'maven'

compile('com.mikepenz:aboutlibraries:x.y.z@aar') {
transitive = true
}

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

20.05.2016, 18:21:50 via Website

Ich glaube du hast die falsche build.gradle erwischt.
Es gibt eine algemeine fürs Projekt und eine spezielle fürs Modul (in AS "build.gradle (Project app)")

Die Dependenys kommen in die spezielle Build.gradle fürs Modul
Der Block müsste dannn etwa so aussehen:

apply plugin: 'com.android.application'

android {
signingConfigs {
}
compileSdkVersion 23
buildToolsVersion '23.0.1'
useLibrary 'org.apache.http.legacy'
defaultConfig {
applicationId "de.plpt.test.1234"
minSdkVersion 14
targetSdkVersion 23

}
buildTypes {
    release {
        minifyEnabled true
        proguardFiles 'proguard-project.txt'
    }
}
productFlavors {
}

}
repositories {

}

dependencies {
compile 'com.github.xiprox.errorview:library:2.+'
compile 'com.android.support:recyclerview-v7:23.+'
compile 'com.android.support:cardview-v7:23.+'
compile 'com.android.support:design:23.+'
compile 'org.astra_g:session_cookie_reader:1.2.+'
compile 'com.android.support:appcompat-v7:23.+'
}

Die syntax deines compiles scheint mir auch noch nicht richtig. Normalerweise stegen "x.y.z" für eine bestimmre version z.b. "1.2.3" Da musst du mal schaue welche Versionen es gibt und welche die neuste ist.

Aber Am besten du nummst den Compile befehl da mal raus und nutzt das Menü von AS um Libs hinzuzufügen.
Dafür Rechtsklick auf dein Modul->Properties->Dependencies-> Add (Plus-Symbol)

— geändert am 20.05.2016, 20:33:48

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Gelöschter Account
  • Forum-Beiträge: 72

20.05.2016, 19:48:01 via Website

@ Pascal,

danke für den Tipp.

Seither hat alles funktioniert bis heute als ich versuchte die Library

"github.com/mikepenz/AboutLibraries"

einzubinden. Irgend etwas habe ich da falsch gemacht, denn danach fing der Ärger an. Ich habe nun aus meinem lokalem Archiv das Projekt zurück gesetzt und versuche es erneut. Vielleicht klapp es dann besser. Das wird aber ein bisschen dauern :)

(Mittlerweile scheint es mit VCS->"commit Changes" geklappt zu haben, so dass ich dann von Github aus Änderungen zurück nehmen kann.)

Edit 19:59:

ich habe soeben entdeckt, dass es zwei Dateien "build.grandle" gibt. Ich vermute, dass ich die Anpassungen in der Falschen Datei vorgenommen habe. :( Und das eventuell die Ursache für die Probleme sein könnte.

Grüße

— geändert am 20.05.2016, 20:00:07

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

20.05.2016, 20:32:32 via App

Hab ich ja geschrieben dass du die falsche erwischt hast ;)

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Gelöschter Account
  • Forum-Beiträge: 72

20.05.2016, 22:38:28 via Website

Pascal P.

Hab ich ja geschrieben dass du die falsche erwischt hast ;)

Asche auf mein Haupt, steht in der ersten Zeile und hab es nicht geblickt. :(

Grüße

Antworten
Gelöschter Account
  • Forum-Beiträge: 72

21.05.2016, 10:54:14 via Website

Hallo,

ich hab es nun geschafft grandle 2.13 zu installieren aber es ändert sich nichts hier die Fehlermeldung in der Datei idea.log
er kann die Methode "compile()" nicht finden. Wie finde ich heraus ob grandle 2.13 auch benutzt wird?

com.intellij.openapi.externalSystem.model.LocationAwareExternalSystemException: Gradle DSL method not found: 'compile()'

und hier die Datei build.grandle

apply plugin: 'com.android.application'
apply plugin: 'maven'

android {
compileSdkVersion 21
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "de.blberger.launcher4"
minSdkVersion 10
targetSdkVersion 23
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
}
}
dependencies {
}

compile('com.mikepenz:aboutlibraries:5.6.6@aar') {
transitive = true
}

Edit 11:53

hab nun den classpath geändert in build.grandle

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

das führt dann zu dem Fehler:

Error:Could not find com.android.tools.build:gradle:2.13.0.
Searched in the following locations:
file:/C:/Program Files/Android/Android Studio1/gradle/m2repository/com/android/tools/build/gradle/2.13.0/gradle-2.13.0.pom
file:/C:/Program Files/Android/Android Studio1/gradle/m2repository/com/android/tools/build/gradle/2.13.0/gradle-2.13.0.jar
https://jcenter.bintray.com/com/android/tools/build/gradle/2.13.0/gradle-2.13.0.pom
https://jcenter.bintray.com/com/android/tools/build/gradle/2.13.0/gradle-2.13.0.jar
Required by:
:WidgetLauncher4:unspecified

Edit 12:26
in der Grandle HP wird die Version 2.13 zum Download angeboten, diese wird aber in

https://jcenter.bintray.com/com/android/tools/build/gradle/

nicht angeboten. statt dessen nur "2.2.0-alpha1" und trägt man das in build.grandle ein zieht er die Klassen vom Netz um dann doch wieder die alte Fehlermeldung anzuzeigen :(

dependencies {
classpath 'com.android.tools.build:gradle:2.2.0-alpha1'
}

so langsam verstärkt sich bei mir die Vermutung dass die Methode compile() nicht Teil von Grandle ist sondern eine Methode eines Grandle Plugins? Aber wessen Plugins?

— geändert am 21.05.2016, 12:36:31

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

21.05.2016, 13:11:16 via Website

Deine Datei sieht immernoch falsch aus. Deine Dependenys sind leer und das Compile steht darunter:

Probier es mal so

apply plugin: 'com.android.application'
apply plugin: 'maven'

android {
compileSdkVersion 21
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "de.blberger.launcher4"
minSdkVersion 10
targetSdkVersion 23
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
}
}

dependencies {


compile('com.mikepenz:aboutlibraries:5.6.6@aar') {
transitive = true
}}

Gradle macht das schon wenn der File stimmt ;)

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Gelöschter Account
  • Forum-Beiträge: 72

21.05.2016, 15:08:38 via Website

Hi,

Pascal P.

Deine Datei sieht immernoch falsch aus. Deine Dependenys sind leer und das Compile steht darunter:

Probier es mal so

[cut]>
dependencies {

compile('com.mikepenz:aboutlibraries:5.6.6@aar') {
transitive = true
}}

Gradle macht das schon wenn der File stimmt ;)

das war es :( nun ist diese Fehlermeldung weg.

Die Ursach eist die, dass hier nirgend steht dass es in den dependencies Block muss :(
Aber nun ist das Rätsel ja gelöst.

Danke euch und die Geduld :)

image

— geändert am 21.05.2016, 15:11:14

Antworten