'Varsayılan' adıyla Android Studio Gradle Yapılandırması bulunamadı


181

Uygulamamı Android Studio (0.1.5) ile derlerken sorun yaşıyorum. App ben aşağıdaki gibi dahil 2 kütüphaneleri kullanır:

settings.gradle

include ':myapp',':library',':android-ColorPickerPreference'

build.gradle

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

dependencies {
    compile files('libs/android-support-v4.jar')
    compile project(':library')
    compile project(':android-ColorPickerPreference')

}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

Derlerken bu mesajı alıyorum:

  Gradle: A problem occurred configuring project ':myapp'.
   > Failed to notify project evaluation listener.
   > Configuration with name 'default' not found.

Bu mesajda bana yardım eder misin? Teşekkürler!


5
.gradle içinde bildirilen kütüphane projeleri, proje köklerinde build.gradle dosyalarını doğru şekilde yapılandırdı mı? ayrıca: kütüphane ve: android-ColorPickerPreference, dizin yapınızdaki settings.gradle dosyanızla aynı düzeyde dizinlerde mi olmalıdır?
speedynomads

Bu sorun, kütüphane projelerimden birinde build.gradle dosyası olmadığında benimle oluştu. Bu dosyayı oluşturmak hatayı ortadan kaldırdı.
IgorGanapolsky

Benim durumumda gradle yapılandırma dosyamdan biri eksik. Düzgün itilmiyor.
Zar E Ahmer

gradle.build dosyası nasıl oluşturulur .. ben de aynı sorunla karşı karşıyayım?

Yanıtlar:


82

Benim durumumda, derledikten sonra gradle tasks --info, günlük oradaydı:

': Kütüphaneler: VolleyLibrary' projesinin boş derleme dosyası kullanılarak değerlendirilmesi.

Bu yüzden kütüphanenin build.gradle dosyasını bulamadı. Nedeni klasör yapısıdır.

Öyleydi

-libraries
--volley
---VolleyLibrary

Olması gerekiyordu

-libraries
--VolleyLibrary

': Library: VolleyLibrary' değerlendirmesini nasıl sağladınız? Bu satır build.gradle dosyanızda nasıl görünüyor?
IgorGanapolsky

bağımlılıklar {compile ': kütüphaneler: VolleyLibrary'} Böyle bir şey olmalı ve daha fazlası değil.
guydemossyrock

1
Yukarıdaki kod örneğinize göre: Kütüphaneler büyük harfle yazılmalıdır.
IgorGanapolsky

3
"Gradle görevleri --info" ile nasıl derlersiniz?
toddmo

8
./gradlew tasks --infobu, tüm görevlerin bilgilerini gösterecektir. Bunun neyin yanlış gittiğini bulmak için yararlı olacağını düşünüyorum.
srain

60

Tüm alt modülleri çekmeyi unuttum. Yani benim

compile project(':something')

çözülemedi.

Çözüm

git submodule update --init

2
Lütfen bu komutu hangi klasörde çalıştırmam gerektiğini açıklayın - proje klasörü veya alt modül klasörü
Ajith Memana

1
bu cevap kabul edilmelidir. çoğu durumda yanıltıcı hata mesajı, alt modülleri klonlamayı unuttuğunuz anlamına gelir
vigilancer

1
Benim durumumda alt modülü settings.gradle dosyasından kaldırmayı unuttum. Yani dikkatli ol! : D
Yaroslav Havrylovych

20
compile fileTree(dir: '//you libraries location//', include: ['android-ColorPickerPreference'])

Uygulamanızın gradle dosyasında yukarıdaki satırı kullanın yerine

compile project(':android-ColorPickerPreference')

Umarım yardımcı olur


19

Aşağıdaki prosedür sorunumu çözdü:

  • Alt proje modülü / kütüphane modülü ayarlarınıza gidin. ( F4modülü seçtikten sonra basın )
  • Ekle> Android-Gradle'a sağ tıklayın .
  • Modülünüze build.gradle ekleyin.
  • Aşağıdaki komut dosyasını ekleyin

    buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
     }
    
    
      apply plugin: 'android-library'
    
    repositories {
    mavenCentral()
    }
    
    android {
    compileSdkVersion 18
    buildToolsVersion "18.1.0"
    
    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }
    
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    
    }
       } 
    1. include ':yourModuleName'ayarlarınıza ekleyin .

Kütüphane proje modülü ayarlarını seçtiğimde bir seçenek değil ve f4 hiçbir şey yapmıyor.
Daniel Baughman

1
@DanielBaughman lütfen sorgunuzu netleştirin, ancak modül ayarlarını hala bulamıyorsanız, 2 şey yapabilirsiniz: 1) Dosya> Modülü İçe Aktar'a gidin ve adımları izleyin, Android Studio otomatik olarak build.gradle dosyasını ekleyecek ve Ayrıca bağımlılıkları ekleyin. 2) El ile build.grade dosyasını ekleyin, betiği içine yazın ve sorununuz çözülecektir.
Ahmad Ali Nasir

1
Yardımın için teşekkürler. Yaptığım şey aslında içeri aktardığım klasörü projeye koymaktı - modülü içeri aktardım ve sonra proje özelliklerimde, oluşturduğu yeni modül klasörü yerine kütüphane olarak almayı hedeflediğim kaynak modüle atıfta bulundum. Bu referansı ayarladım ve düzeltti.
Daniel Baughman

12

Ben de bu hatayla karşılaştım - kütüphane projesi için build.gradle komut dosyası oluşturmayı unuttum.


10

Yine başka bir neden - settings.gradle kullanarak bir modül eklemeye çalışıyordum

include ':MyModule'
project(':MyModule').projectDir = new File(settingsDir, '../../MyModule')

Tek sorun, sadece Eclipse modül ithal benim dizin benim uygulama proje dışında taşımak unuttum, yani yol '../../MyModule'yoktu.


Bu da az çok benim sorunumdu. Yolda çok fazla bir tane vardı ../ve doğru yere işaret etmiyordu. Bunu izlemek özellikle zordur çünkü Android Studio / Gradle dizini yoksa oluşturur. "Hayır" diyen basit bir hata atmak yerine.
Joshua Pinter

7

Benim çözüm basitçe var olmayan bir modülü temsil ayarlar.gradle dosyasından bir satır kaldırmaktır:

include ':somesdk'

ve karşılık gelen satırı ana projenin build.gradle öğesinden kaldırın:

compile project(':somesdk')

6

Bu hatayı alırken git submodule problemim vardı. gradle tasks --infoDaha ayrıntılı bir sorun açıklaması için çalıştırmayı deneyin . İlk kullandığım gradle tasks --debug, neredeyse kadar yardımcı olmadı --info.


5

Projenize bir kütüphane (örneğin MyLib) eklemek istediğinizi varsayalım, şu adımları izlemelisiniz:

  1. Kitaplığınızın türü Eclipse ADT ise kitaplığınızı daha iyi bir Android kitaplığı olarak hazırlayın
    Bu iş için Android Studio'ya içe aktarmak yeterlidir
  2. Kütüphane klasörünüzü, bu durumda MyLib klasörünüzü kopyalayın ve ana proje klasörünüze yapıştırın. Ana proje klasörünüzde yeni bir klasör oluşturmak ve bu klasörleri adlandırmak iyi bir uygulamadır
  3. Android Studio'ya gidin ve Settings.gradle dosyasını açın , orada kitaplığınızı ana projenize dahil etmelisiniz. Örneğin include ':MyPrj', 'Libraries:MyLib'. Not : Bu include deyiminin geçerli dizini ana proje klasörünüzdür. Projenizi bir klasöre yapıştırırsanız, ana proje dizinine göre adresinden bahsetmelisiniz. Benim durumumda ben yapıştırın MyLib içine Kütüphaneler klasörüne. Bu Kütüphaneler adı bir anahtar kelime değildir ve bunun için başka adlar da seçebilirsiniz
  4. Proje Yapısı sayfanızı açın ( Dosya-> Proje Yapısı ... ) modülleri tıklayın, ardından ana projenize tıklayın bağımlılıklar sekmesine tıklayın, +ardından Modül bağımlılığını seçin ve kütüphaneleriniz var ve istediğiniz gibi seçebilirsiniz

Umarım yardımcı olur


net olmak için sliding-menu github.com/jfeinstein10/SlidingMenu/tree/master/library projesine gidin ve yapısını kontrol edin! Eski format android proje +build.gradle dosyası var !! Teşekkürler, @ABFORCE +1
deadfish

Bu yazı OpenCV4Android'i Android Studio'ya aktarmama yardımcı oldu, bu yüzden bu yöntemi kefil edeceğim.
Craig

5

Benim durumumda Windows altında çalışan ancak Linux'ta başarısız olan Gradle dosyalarını kullanıyordum. include ':SomeProject'Ve compile project(':SomeProject')küçük harfe duyarlı ve bulunmamıştır.


4

Benim için, settings.gradle altında bildirilen klasör eksikti .


3

İlk allıkta her şey iyi görünüyor, ancak burada etrafta dolaşan bazıları yardımcı olabilecek bir cevap buldu: https://stackoverflow.com/a/16905808/7944

Orijinal cevap yazarı bile kulağa çok güvenmiyor, ama takip etmeye değer. Ayrıca, dizin yapınız hakkında bir şey söylemediniz ve bu yüzden sıkıcı varsayılan şeyler olduğunu varsayıyorum, ancak kesin olarak bilemiyorum.


2

Bu kesin hatanın başka bir olası nedeni: Bu hatanın build.gradle bağımlılıkları bölümünde kullanılmayan bazı kütüphaneler yorumlanarak çözüldüğünü fark ettim. Bu yolların ve benzerlerinin hepsinin doğru olduğundan emin olun.

Ben derleme proje (': android-ColorPickerPreference') build.gradle girişinde çok yakından bakmak - ilgili kodu ve build.gradle bu satırı yorum deneyin ve bu derler olup olmadığını görmek - sonra oradan gidermek gitmek yol veya kütüphane sorunu.


2

Benzer bir sorun yaşadım ve projeye bir kütüphane eklemek için çok basit bir yol buldum.

  1. Projenizin kök dizininde "libs" klasörü oluşturun.
  2. JAR dosyasını bu klasöre kopyalayın.
  3. Android Studio'ya geri dönün, JAR dosyanızı bulun ve sağ tıklayın, "Kitaplık Olarak Ekle ..." yi seçin, sadece hangi modülü eklemek istediğinizi soracak, "app" yi seçecektir.

Şimdi "app" modülünde bu JAR sınıfları kullanabilirsiniz, otomatik olarak "ithalat" bildirimleri bulmak ve eklemek ve sadece tamam derlemek mümkün olacak. Tek sorun şu gibi mutlak yolla bağımlılık katması olabilir:

compile files('/home/user/proj/theproj/libs/thelib-1.2.3.jar')

"app / build.gradle" de.

Umarım yardımcı olur!


2

Aşağıda gösterildiği gibi settings.gradle içindeki bazı yolları düzelterek bu sorunu çözdüm :

include ':project-external-module'

project(':project-external-module').projectDir = file('/project/wrong/path')

Projeme harici bir modül ekliyordum ve bunun için yanlış bir yola sahiptim.


1

Projeme manuel olarak google-play-services_lib yapıştırdığımda bu sorunu yaşadım. Açıkçası, play-services içinde bir build.gradle dosyası yoktu. Öğrenmiş olduğum çözüm, bu bağımlılığı projemin build.gradle dosyasına koymak (play-services dizinini kopyalamak yerine):

    compile 'com.google.android.gms:play-services:4.0.+'

1

Kütüphanemi manuel olarak içe aktardığımda aynı sorun vardı. Dosya> import modülü ile kütüphanemi eklemeye çalıştım ve sorunumu çözdü.


1

Benim durumumda, build.gradledosyadaki kitaplığın modül bağımlılığını (bağımlılık) yanlış yazdığımda bu hatayı aldım .

Bu yüzden modül adının doğru olup olmadığını kontrol etmeyi unutmayın.

build.gradle

dependencies {
    compile project(':module-name-of-the-library')
}

1

Yakın zamanda bir git alt modülü aracılığıyla başlatılan bir projeye başvurduğumda bu hatayla karşılaştım.

build.gradleAlt modülün (java projesi) kök dosyasının kök düzeyinde java eklentisi olmadığını öğrendim .

Sadece vardı

apply plugin: 'idea'

Java eklentisini ekledim:

apply plugin: 'idea'
apply plugin: 'java'

Java eklentisini uyguladıktan sonra 'varsayılan bulunamadı' mesajı kayboldu ve derleme başarılı oldu.


1

Ayrıca ... projenizde modül dosyaları olup olmadığını kontrol edin.

Örneğin, Volley modülünü kullanan bir uygulamam var. Android geliştirme çalışmalarım sırasında yanlışlıkla "volley" dizini içindeki dosyaları sildim.

~/git/Sandbox/android/HelloWorld/volley $ ll
total 8
drwxrwxr-x 2 ivanleon ivanleon 4096 Jun 16 22:26 ./
drwxrwxr-x 6 ivanleon ivanleon 4096 Jun 17 01:51 ../

Projeyi klonladım (aşağıya bakın) ve ardından Android Studio'da projenin senkronizasyonunu yaptım (Araçlar> Android> Projeyi Gradle Dosyaları ile Senkronize Et) ve Gradle oluşturma normal olarak tamamlandı (Gradle Console: Android Studio'nun sağ alt köşesi) ).

~/git/Sandbox/android/HelloWorld/volley $ git clone https://android.googlesource.com/platform/frameworks/volley
Cloning into 'volley'...
remote: Counting objects: 164, done
remote: Finding sources: 100% (164/164)
remote: Total 3222 (delta 307), reused 3222 (delta 307)
Receiving objects: 100% (3222/3222), 1.22 MiB | 114.00 KiB/s, done.
Resolving deltas: 100% (307/307), done.
Checking connectivity... done.

~/git/Sandbox/android/AndroidGetJSON $ ls volley
Android.mk      build         build.xml         pom.xml       
proguard-project.txt      src    bintray.gradle  build.gradle
custom_rules.xml  proguard.cfg  rules.gradle          volley.iml

0

Kişisel build.gradle modülü / kütüphane için olduğu gibi basit olarak olabilir:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

Modülünüz yalnızca .java POJO sınıflarının bir koleksiyonuysa.

Model / varlık sınıflarıysa ve ek açıklamalar kullanıyorsanız ve bazı bağımlılıklarınız varsa bunları aşağıdakilere ekleyebilirsiniz:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.j256.ormlite:ormlite-core:4.48'
    compile 'com.j256.ormlite:ormlite-android:4.48'
    compile 'com.j256.ormlite:ormlite-jdbc:4.48'
}

0

Bu, içe aktarılan veya kopyalanan klasörü / projeyi kütüphaneler klasöründe modül olarak derlediğinizde olur. build.gradleDosyayı eklemediğimde bu sorun gündeme geliyordu . dosyayı eklediğimde her şey yolunda gitti.


0

Benim için not tarafından kullanılamayan göreli sembolik bir bağlantı (referans verilen projeye) ortaya çıktı. (Bir kütüphaneye başvuruyordum). Bu oldukça sinirli bir durum ama belki de gelecekte birine yardımcı olur.

Mutlak sembolik bir bağ kurarak çözdüm.

Önce ln -s ../librarysonraln -s /the/full/path/to/the/library


0

Ayrıca aynı sorunla karşı karşıya kaldım ve settings.xml içinde bir bayrağını (gradle.ext.set ("allowLocalEdits", true)) false olarak değiştirerek çözüldü.


0

Benim için, bağımlı kitaplıklardan biri doğru yolda yok, ancak hata iletisi THAT kitaplığını doğru göstermiyor.

Örneğin, özlediğim şey :library-3ama hata atıyor :library-1.

zayıf kepçe.


-1

Volley kütüphanesi eklemeyi deneyin ve programı senkronize edip çalıştırın. biri çekti ve ben volley kullanımı varsa ve hata -Android Studio Gradle Yapılandırma adında 'varsayılan' bulunamadı olarak gösterir sonra voleybolu gradle kitaplığınıza ekleme adımını izleyin. Umarım yardımcı olur. Sorunumu bu şekilde giderdim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.