Konfigurasi Android Studio Gradle dengan nama 'default' tidak ditemukan

181

Saya mengalami masalah dalam mengkompilasi aplikasi saya dengan Android Studio (0.1.5). Aplikasi ini menggunakan 2 perpustakaan yang telah saya sertakan sebagai berikut:

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

Saat mengkompilasi saya mendapatkan pesan ini:

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

Bisakah Anda membantu saya dengan pesan ini? Terima kasih!

Gyonder
sumber
5
apakah proyek perpustakaan yang dideklarasikan di settings.gradle semua telah mengkonfigurasi file build.gradle dengan benar di root proyek? juga: perpustakaan dan: android-ColorPickerPreference harus di direktori pada tingkat yang sama dalam struktur Anda sebagai file settings.gradle Anda?
speedynomads
Masalah ini terjadi pada saya ketika saya tidak memiliki file build.gradle di salah satu proyek perpustakaan saya. Membuat file ini membuat kesalahan hilang.
IgorGanapolsky
Dalam kasus saya, salah satu file konfigurasi gradle saya tidak ada.
Zar E Ahmer
cara membuat file gradle.build .. saya juga menghadapi masalah yang sama?

Jawaban:

82

Dalam kasus saya, setelah dikompilasi gradle tasks --info, log ada di sana:

Mengevaluasi proyek ': perpustakaan: VolleyLibrary' menggunakan file build kosong.

Jadi gagal menemukan file build.gradle dari perpustakaan. Alasannya adalah struktur folder.

Dulu

-libraries
--volley
---VolleyLibrary

Seharusnya begitu

-libraries
--VolleyLibrary
guydemossyrock
sumber
Bagaimana Anda mendapatkannya untuk mengevaluasi ': libraries: VolleyLibrary'? Seperti apa garis itu dalam file build.gradle Anda?
IgorGanapolsky
dependencies {compile ': libraries: VolleyLibrary'} Seharusnya seperti ini dan tidak lebih.
guydemossyrock
1
Menurut contoh kode Anda di atas,: Perpustakaan harus ditulis dengan huruf besar.
IgorGanapolsky
3
Bagaimana Anda mengkompilasi dengan "tugas gradle --info"?
toddmo
8
./gradlew tasks --infoini akan menampilkan informasi dari semua tugas. Saya pikir ini akan membantu untuk mencari tahu apa yang salah.
srain
60

Saya lupa menarik semua submodules. Jadi saya

compile project(':something')

tidak bisa diselesaikan

Larutan

git submodule update --init
pelit
sumber
2
Tolong jelaskan di folder mana saya harus menjalankan perintah ini - folder proyek atau folder submodule
Ajith Memana
1
jawaban ini harus diterima. pesan kesalahan yang menyesatkan dalam banyak kasus berarti Anda lupa untuk mengkloning submodules
vigilancer
1
Dalam kasus saya, saya sulit lupa untuk menghapus submodule dari file settings.gradle. Jadi hati-hati! : D
Yaroslav Havrylovych
20
compile fileTree(dir: '//you libraries location//', include: ['android-ColorPickerPreference'])

Gunakan baris di atas dalam file gradle aplikasi Anda, bukan

compile project(':android-ColorPickerPreference')

Semoga ini bisa membantu

lokesh kumar
sumber
19

Prosedur berikut memecahkan masalah saya:

  • Buka pengaturan sub-proyek-modul / perpustakaan-modul Anda. (tekan F4setelah memilih modul)
  • Klik kanan pada Add> Android-Gradle .
  • Tambahkan build.gradle ke modul Anda.
  • Tambahkan skrip berikut

    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. tambahkan include ':yourModuleName'di settings.gradle Anda
Ahmad Ali Nasir
sumber
Ketika saya memilih pengaturan modul proyek perpustakaan bukanlah suatu pilihan dan f4 tidak melakukan apa pun.
Daniel Baughman
1
@DanielBaughman tolong jelaskan kueri Anda, tetapi jika Anda masih tidak dapat menemukan pengaturan modul, Anda dapat melakukan 2 hal: 1) Buka File> Impor Modul dan ikuti langkah-langkahnya, Android Studio akan secara otomatis menambahkan file build.gradle dan juga menambahkan dependensi. 2) Secara manual menambahkan file build.grade menulis skrip di dalamnya dan masalah Anda akan teratasi.
Ahmad Ali Nasir
1
Terima kasih untuk bantuannya. Apa yang telah saya lakukan sebenarnya adalah meletakkan folder yang saya impor ke dalam proyek - mengimpor modul, dan kemudian, di properti proyek saya, mereferensikan modul sumber yang saya targetkan untuk diimpor sebagai perpustakaan alih-alih folder modul baru yang dibuatnya. Saya menyesuaikan referensi itu dan memperbaikinya.
Daniel Baughman
12

Saya juga menghadapi kesalahan ini - saya lupa membuat skrip build.gradle untuk proyek perpustakaan.

Viacheslav
sumber
10

Namun penyebab lain - saya mencoba untuk memasukkan modul menggunakan settings.gradle

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

Satu-satunya masalah adalah, saya baru saja mengimpor modul dari Eclipse dan lupa untuk memindahkan direktori di luar proyek aplikasi saya, yaitu jalur '../../MyModule'tidak ada.

Magnus W
sumber
Ini kurang lebih masalah saya juga. Saya punya satu terlalu banyak ../di jalan dan itu tidak menunjuk ke tempat yang benar. Ini sangat sulit dilacak karena Android Studio / Gradle akan membuat direktori jika tidak ada. Alih-alih melemparkan kesalahan sederhana yang mengatakan "Tidak."
Joshua Pinter
7

Solusi saya adalah dengan menghapus satu baris dari file settings.gradle, yang mewakili modul yang tidak ada:

include ':somesdk'

dan juga menghapus baris yang sesuai dari build.gradle proyek utama:

compile project(':somesdk')
Yisu Zhang
sumber
6

Saya punya masalah submodule git ketika mendapatkan kesalahan ini. Coba jalankan gradle tasks --infountuk deskripsi masalah yang lebih rinci. Saya pertama kali menggunakan gradle tasks --debug, yang hampir tidak membantu --info.

Heinrisch
sumber
5

Misalkan Anda ingin menambahkan perpustakaan (misalnya MyLib) ke proyek Anda, Anda harus mengikuti langkah-langkah ini:

  1. Persiapkan pustaka Anda sebagai pustaka Android gradle jika jenis pustaka Anda adalah Eclipse ADT
    Untuk pekerjaan ini, cukup mengimpornya di Android Studio
  2. Salin folder perpustakaan Anda, dalam hal ini folder MyLib, dan tempel di folder proyek utama Anda. Ini adalah praktik yang baik untuk membuat folder baru di folder proyek utama Anda dan beri nama Libraries
  3. Buka Android Studio dan buka file Settings.gradle , di sana Anda harus memasukkan perpustakaan Anda di proyek utama Anda. Sebagai contoh include ':MyPrj', 'Libraries:MyLib'. Catatan : Direktori saat ini untuk pernyataan penyertaan ini adalah folder proyek utama Anda. Jika Anda menempelkan proyek Anda ke folder, Anda harus menyebutkan alamatnya relatif terhadap direktori proyek utama. Dalam kasus saya, saya menempelkan MyLib ke folder Libraries . Ini Perpustakaan nama tidak kata kunci dan Anda dapat memilih nama lain untuk itu
  4. Buka halaman Struktur Proyek Anda ( File-> Struktur Proyek ... ) klik pada modul kemudian klik pada proyek utama Anda pergi ke tab dependensi klik +kemudian pilih Modul dependensi dan ada perpustakaan Anda dan Anda dapat memilihnya seperti yang Anda inginkan

Semoga ini bisa membantu

kodok
sumber
untuk lebih jelas, buka proyek github sliding-menu github.com/jfeinstein10/SlidingMenu/tree/master/library dan periksa strukturnya! Ada +file build.gradle proyek android format lama !! Terima kasih, @ABFORCE +1
deadfish
Posting ini membantu saya dengan mengimpor OpenCV4Android ke Android Studio, jadi saya akan menjamin metode ini.
Craig
5

Dalam kasus saya, saya menggunakan file Gradle yang berfungsi di Windows tetapi gagal di Linux. Itu include ':SomeProject'dan compile project(':SomeProject')adalah case sensitive dan tidak ditemukan.

robUx4
sumber
4

Bagi saya folder tidak ada yang dideklarasikan di bawah settings.gradle .

Steve Ham
sumber
3

Semuanya terlihat baik pada blush on pertama, tetapi beberapa di sekitar sini menemukan jawaban yang bisa membantu: https://stackoverflow.com/a/16905808/7944

Bahkan penulis jawaban asli tidak terdengar sangat percaya diri, tetapi patut ditindaklanjuti. Juga, Anda tidak mengatakan apa-apa tentang struktur direktori Anda dan saya berasumsi itu adalah hal-hal standar yang membosankan, tetapi tidak dapat mengetahui dengan pasti.

Josh Gagnon
sumber
2

Salah satu penyebab potensial lainnya dari kesalahan ini: Saya menemukan kesalahan ini diselesaikan dengan mengomentari beberapa perpustakaan yang tidak digunakan di bagian dependensi build.gradle. Pastikan jalur ini dan yang lainnya semuanya benar.

Saya akan melihat sangat dekat pada proyek kompilasi Anda (': android-ColorPickerPreference') entri di build.gradle - coba komentari kode terkait dan baris ini di build.gradle dan lihat apakah itu mengkompilasi - kemudian pergi dari sana menyelesaikan masalah jalur atau perpustakaan.

RoundSparrow hilltx
sumber
2

Saya memiliki masalah serupa dan menemukan cara yang sangat sederhana untuk menambahkan perpustakaan ke proyek.

  1. Buat folder "libs" di root proyek Anda.
  2. Salin file JAR ke folder itu.
  3. Kembali ke Android Studio, cari file JAR Anda dan klik kanan, pilih "Tambahkan Sebagai Perpustakaan ...", itu akan meminta Anda hanya untuk modul mana yang ingin Anda tambahkan, juga pilih "aplikasi".

Sekarang dalam modul "aplikasi" Anda, Anda dapat menggunakan kelas-kelas dari JAR itu, ia akan dapat menemukan dan menambahkan deklarasi "impor" secara otomatis dan kompilasi dengan baik-baik saja. Satu-satunya masalah mungkin adalah bahwa hal itu menambah ketergantungan dengan jalur absolut seperti:

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

di "app / build.gradle" Anda.

Semoga itu bisa membantu!

Yuriy Grinevich
sumber
2

Saya memecahkan masalah ini dengan memperbaiki beberapa jalur di settings.gradle seperti yang ditunjukkan di bawah ini:

include ':project-external-module'

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

Saya memasukkan modul eksternal ke proyek saya dan salah jalan.

Bogdan Emil Mariesan
sumber
1

Saya mengalami masalah ini ketika saya secara manual menempelkan google-play-services_lib ke proyek saya. Jelas, play-services tidak memiliki file build.gradle di dalamnya. Solusinya, saya pelajari, adalah dengan meletakkan dependensi ini di build.gradle proyek saya (alih-alih menyalin direktori direktori play-services):

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

Ketika saya mengimpor perpustakaan saya secara manual, saya memiliki masalah yang sama. Saya mencoba menambahkan perpustakaan saya dengan file> modul impor dan itu memecahkan masalah saya.

savepopulation
sumber
1

Dalam kasus saya, saya menerima kesalahan ini ketika saya salah mengeja nama modul perpustakaan (ketergantungan) dalam build.gradlefile.

Jadi ingatlah untuk memeriksa apakah nama modul itu benar.

build.gradle

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

Saya baru-baru ini menemukan kesalahan ini ketika saya mereferensikan sebuah proyek yang diinisialisasi melalui submodule git.

Saya akhirnya menemukan bahwa build.gradlefile root dari submodule (proyek java) tidak memiliki plugin java yang diterapkan pada tingkat root.

Hanya punya

apply plugin: 'idea'

Saya menambahkan plugin java:

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

Setelah saya menerapkan plugin java pesan 'default not found' menghilang dan build berhasil.

Donn Felker
sumber
1

Juga ... periksa apakah Anda memiliki file modul di dalam proyek Anda.

Misalnya, saya punya aplikasi yang menggunakan modul Volley. Selama studi saya tentang pengembangan Android, saya tidak sengaja menghapus file yang ada di dalam direktori "volley" ..

~/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 ../

Saya baru saja mengkloning proyek (lihat di bawah) dan kemudian, saya membuat Sinkronisasi proyek di Android Studio (Alat> Android> Sinkronkan Proyek dengan File Gradle) , dan Gradle build selesai secara normal (Gradle Console: sudut kanan bawah Android Studio) ;).

~/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
ivanleoncz
sumber
0

Build.gradle Anda untuk modul / perpustakaan bisa sesederhana:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

Jika modul Anda hanya kumpulan kelas .java POJO.

Jika model / entitas kelas dan Anda menggunakan anotasi dan memiliki beberapa dependensi Anda dapat menambahkannya di:

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'
}
Tukang roti
sumber
0

Ini terjadi ketika Anda mengkompilasi folder / proyek yang diimpor atau disalin sebagai modul di folder perpustakaan. Masalah ini meningkat ketika saya tidak menyertakan build.gradlefile. ketika saya menambahkan file semua berjalan dengan baik.

Kenan Begić
sumber
0

Bagi saya itu ternyata merupakan tautan simbolis relatif (ke proyek yang direferensikan) yang tidak dapat digunakan oleh kelas. (Saya sedang referensi perpustakaan). Itu kasus tepi yang cukup edgy tapi mungkin itu membantu seseorang di masa depan.

Saya menyelesaikannya dengan meletakkan tautan simbolik absolut.

Sebelum ln -s ../librarysesudahnyaln -s /the/full/path/to/the/library

Langusten Gustel
sumber
0

Saya juga menghadapi masalah yang sama dan diselesaikan dengan mengubah satu flag (gradle.ext.set ("allowLocalEdits", true)) menjadi false di settings.xml.

AVINASH SHRIMALI
sumber
0

Bagi saya, salah satu pustaka dependen tidak ada di jalur yang benar, tetapi pesan kesalahan tidak menunjukkan pustaka itu dengan benar.

Sebagai contoh, apa yang saya lewatkan adalah :library-3kesalahan :library-1.

gradle yang buruk.

Youngjae
sumber
-1

Coba tambahkan perpustakaan Volley dan sinkronkan dan jalankan program. jika seseorang telah menarik dan saya memiliki penggunaan voli dan kesalahan tersebut menunjukkan sebagai -Android Studio Gradle Configuration dengan nama 'default' tidak ditemukan kemudian ikuti langkah menambahkan perpustakaan voli di gradle Anda. semoga membantu. Saya menyelesaikan masalah saya dengan cara ini.

Sayyaf
sumber