2014-11-10 12 views
57

Ben denemek ve Projemi senkronize ederken şu yapı hatası alıyorum: Onların altındaki o bağlantıdaki beni bağlamak her gradle Eklenti uygulamasını denediAndroid platform yapısı Hata: (9, 0) Gradle DSL yöntemi bulunamadı: 'compile()'.

Error:(9, 0) Gradle DSL method not found: 'compile()' 
Possible causes:The project 'AlexTest' may be using a version of Gradle that does not contain the method. 
The build file may be missing a Gradle plugin. 
link: Apply Gradle plugin 

, henüz aynı sorunu, bu yüzden sonuçlandırmak ilk hatanın nedeni.

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.13.2' 
     compile 'com.google.android.gms:play-services:6.1.11' 
     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

Size öyle sıkıntı çektiğim gradle dosya olduğunu düşünüyorum: Burada

AlexTest için build.gradle dosyası (proje dizini) 'dir. Ama hangi yöntemin başvurduğundan emin değilim.

#Mon Nov 10 01:06:12 PST 2014 
distributionBase=GRADLE_USER_HOME 
distributionPath=wrapper/dists 
zipStoreBase=GRADLE_USER_HOME 
zipStorePath=wrapper/dists 
distributionUrl=https\://services.gradle.org/distributions/gradle-2.1-all.zip 

belki distributionUrl içinde gradle versiyon bağımlılığında biriyle eşleşmesi gerekir:

Ayrıca burada da anılır gradle-wrapper.properties nedir?

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 20 
    buildToolsVersion "21.1.1" 

    defaultConfig { 
     applicationId "com.snappiesticker.alextest" 
     minSdkVersion 16 
     targetSdkVersion 20 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      runProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.google.android.gms:play-services:6.1.+' 
} 
+0

[Desteklenmeyen Gradle DSL yönteminin şu olası kopyası: 'compile()'!] (Http://stackoverflow.com/questions/24730117/unsupported-gradle-dsl-method-found-compile) – naXa

cevap

77

I have tried applying every single gradle plugin they link me to in that link on the bottom, yet same issue, so I conclude that the first error is the cause.

: Size öyle atıfta bulundu budur sanmıyorum gerçi, 1 seviye daha düşük, ama burada öyle -

Ben de uygulama dizininde kendisinde bir build.gradle dosyası var

Doğru.

Here is the build.gradle file for AlexTest (the project directory):

Bu dosyanın bir kod yorumunu içerdiğini göreceksiniz:

// NOTE: Do not place your application dependencies here; they belong 
    // in the individual module build.gradle files 

o dosyadan compile 'com.google.android.gms:play-services:6.1.11' hattını sökün. Diğer build.gradle dosyasında sahip olduğunuz compile 'com.google.android.gms:play-services:6.1.+''u bırakın.

buildscript numaralı belgede dependencies kapatma yalnızca Gradle eklentileri içindir. Modülün build.gradle dosyasında bulunan üst düzey dependencies kapatma, uygulama bağımlılıkları içindir.

+1

Tekrar teşekkürler sen CommonsWare. Hiç var daha Android hakkında herhangi bir kitap veya tek bir kişi daha bana öğrendim. Kısacası – Warpzit

+0

: [. Ben de vermedi] KKO :) – noego

+2

@elron: Daha iyi hissetmeni yaparsa, IIRC, Gradle eklenti sistemi yeniden şekillendiriliyor ve bu yüzden sonunda çift 'buildscript' sistemi olacak umut düzeltilmek İnsanlara anlatmak ciddiye kafa karıştırıcı, "evet,' buildscript' değiştirmek zorunda, ama sadece * herhangi * 'buildscript' ziyade * sağ *' buildscript'. – CommonsWare

3

Sadece bağımlılıkları foolwoing deyimi eklemek

apply plugin: 'jetty'

1
, Android Studio'da benim app koşmak (Eclipse göç yapmak için bir "iş tüketen birkaç gün" olduğunu ve de bu sorun vardı benim için

Herkese merhaba). Sonunda bunu çok basit bir şekilde buldum.

  1. src/main/java altında libs klasörü oluşturun/sol bölmede App/java/libs'dir.
  2. Tüm dış kavanozlarınızı kopyalayıp yapıştırın.
  3. Sol bölmeye gidin ve Uygulamanızda sağ tuşa tıklayın ve ardından Açık Modül Ayarları'nı Aç
  4. Daha sonra Proje Yapısı penceresi görünecektir.
  5. Ardından Bağımlılıklar sekmesine gidin. Son Adım: App/java/libs'da bulunan tüm kavanozlarınızı ekleyin (bunları src/main/java/libs içinde bulacaksınız).Tüm Afiyet olduğunu

.

1

değil AlexTest en build.gradle dosyası

enter image description here

12

Testere sorun başka nedenlerden dolayı meydana geldiğini rapor, ama bu benim için çözülmüş içinde, Modulunun build.gradle dosyada bağımlılıkları bildirin. Proje Yapısı (Android Studio) ve OK tuşuna basın herhangi bir değişiklik yaparsanız

, Gradle senkronize fakat edilecek senkronizasyon bu tip bağımlılık blok varsa bir şey gibi:

Bu blok senkronizasyon sonra bu şekilde kalacaktır: sorunu çözmek için

Tek yön olan bir satır sonu eklemek için kalmak o senkronize önce olduğu gibi hronizasyon ya da iki ifade arasında bir yarı-kolon koydu.

Umarım yardımcı olur.

+0

"tek hattına birleştirilmesi birden bağımlılıklar" bir şekilde dev bir gün bitirme ve bir sonraki başlangıç ​​arasında gerçekleşti. Bütün hatalar belirsiz ve yararsızdır. bir satıra onları geri koymak her anında sabit hepsi iyi iş! – JakeSteam

İlgili konular