Hata: Android Studio'da "varsayılan" adlı yapılandırma bulunamadı


117

Android'de ağ işlemi gerçekleştirmek için voleybol kütüphanesini kullanıyorum. Bu yüzden Android Studio ve gradle sisteminde oluşturduğum projeme bu kütüphaneyi eklemeye çalışıyorum.

Volley kitaplığını projeme ekledim ancak gradle ile senkronize ettiğimde hata mesajı alıyorum. Burada gördüğüm tüm cevapları denedim ama hiçbir şey benim için işe yaramadı.

Hata mesajı : Android Studio'da "varsayılan" adlı yapılandırma bulunamadı

Volley / build.gradle

apply plugin: 'android-library'

android {

    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    sourceSets {
        defaultConfig {
            minSdkVersion 8
            targetSdkVersion 19
        }

        main {
            assets.srcDirs       = ['assets']
            res.srcDirs          = ['res']
            aidl.srcDirs         = ['src']
            resources.srcDirs    = ['src']
            renderscript.srcDirs = ['src']
            java.srcDirs         = ['src']
            manifest.srcFile 'AndroidManifest.xml'

        }
    }
}

Uygulamanın / build.gradle

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile project(':library:volley')
}

Kök / build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

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

allprojects {
    repositories {
        mavenCentral()
    }
}

settings.gradle

include ':app'
include ':library:volley'

Proje adı / kitaplık gibi doğru konuma kitaplık klasörü eklediniz mi?
Ajay S

Uygulama dizinine kitaplık dizini ekledim
Bot



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

Yanıtlar:


68

Kütüphane klasörünüzü projenizin kök konumuna ekleyin ve tüm kütüphane dosyalarını oraya kopyalayın. Ex YourProject / library için ardından onu senkronize edin ve geri kalan şeyler bana iyi görünüyor.


5
Bu, build.gradle dosyasının veya .iml dosyalarının kitaplık dizinlerinde eksik olduğu anlamına da gelebilir.
WKS

7
@aleb sadece Terminal komutu çalıştırmak için gereken tam hata mesajı almak için: ./gradlew assembleDebug. Bunu Android Studioharici bir terminal uygulamasından yapabilirsiniz.
onbir

Örnek ve fotoğraflar gönderebilir misin? teşekkürler, çünkü bu yöntem çalışmıyor

Teşekkürler dostum günümü kurtardı. Teşekkür ederim <3
Gufran Khurshid

1
Bu, alt modüllerimi kaçırdığımı fark etmeme neden oldu, bu da @ ViliusK'un cevabı ile daha açık bir şekilde genişletildi.
Ionoclast Brigham

96

Deneyin:

git submodule init
git submodule update

1
Bu kesinlikle alt modül olarak eklenen kitaplıklar için işe yarar, teşekkürler!
Arne

@Vilius, bunu Terminal'de hangi dizinden çalıştırırım? Bunu proje dizinimde çalıştırmayı denedim ama diyor Not a git repository (or any of the parent directories). İçe aktarmaya çalıştığım örnek bir uygulamam var ve gradle için ayarlanmamış, bu yüzden onu paketlediler. Sorunun bir parçası mı merak ediyorum. Aslında bir settings.gradledosyam bile yok . Sadece build.gradleve diğerleri.
Azurespot 05

2
Projenin kök dizininden çalıştırmalısınız. Git repo'dan bir proje olmalı. Ve alt projeleri olan bir proje olmalıdır. build.gradleDosyada şöyle bir şey arayıncompile project(':libs:my-custom:library')
ViliusK

1
> Bir alt modül, deponuzun bir alt dizininde başka bir Git deposunu tutmanıza izin verir. Diğer arşivin, mevcut arşivin geçmişine müdahale etmeyen kendi geçmişi vardır. Bu, örneğin üçüncü taraf kitaplıkları gibi harici bağımlılıklara sahip olmak için kullanılabilir. kaynak
ViliusK

3
Git alt modülünün gradle derleme hatasıyla ne ilgisi var?
teddy

22

Bu muhtemelen nadir görülen bir durumdur, ancak benim için settings.gradle'da bulunan bir kütüphane yoktu.

Örneğin: include ':libraries:Android-RateThisApp:library'settings.gradle içinde

ancak Android RateThisApp klasörü boştu. Bu alt modülü kontrol ettiğim anda gradle senkronizasyonu başarılı oldu.


Evet, muhtemelen zorunda kaldın git submodule init ve git submodule update. Alt modülleri olan bir projeyi kontrol ederken yaygın bir durumdur.
ViliusK

hiç de nadir değil .... bu sorta hatasıyla benim için durum böyledir ... Zamanın ALOT.
sirvon

Bu benim için böyleydi!
React

14

Aynı kitaplık klasörünü birkaç proje için kullanmak istiyorsanız, buna gradle içinde aşağıdaki gibi harici bir konuma başvurabilirsiniz:

settings.gradle:

include 'app', ':volley'
project(':volley').projectDir = new File('../libraries/volley')

uygulamanızda build.gradle

dependencies {
    ...
    compile project(':volley')
...}

Bu, bir alt modül olarak bütün bir projem olduğunda benim için çalıştı, ancak yalnızca o projenin kütüphane modülünü kullanmak (ve örnek uygulamayı hariç tutmak) istedim.
phreakhead

6

Ben de bu sorunla karşılaşıyorum ancak aşağıdaki adımları takip ediyorum: - 1) ThirdPartyLib adlı belirli bir klasör adına modül (Kitaplık) ekliyorum

Bu sorunu çözmek için sadece follwing eklemekten çok settings.gradle'a gidiyorum : -

proje (':']. projectDir = yeni Dosya ('ThirdPartyLib /')

: - modül adıdır ...


3

Bu hatayı teşhis etmek için hızlı bir şekilde bir terminale bırakın veya Android Studio'da yerleşik olan terminali kullanın (alt durum çubuğundan erişilebilir). PROJE'niz için ana dizine geçin (buradasettings.gradle bulunur).

1.) settings.gradleAlt projenizi içerdiğinden emin olmak için kontrol edin . Bunun gibi bir şey. Bu, çoklu proje yapınızın kütüphane alt projeniz hakkında bilgi sahibi olmasını sağlar.

include ':apps:App1', ':apps:App2', ':library:Lib1'

İki nokta üst üste arasındaki metnin alt dizinler olduğu yer.

2.) Aşağıdaki gradle komutunu çalıştırın, sadece Gradle'ın size kitaplık için bir görev listesi verip veremeyeceğini görün. Aynı niteleyiciyi kullanınsettings.gradle . Bu, Kitaplık oluşturma komut dosyasıyla ilgili sorunları tek başına ortaya çıkaracaktır.

./gradlew :library:Lib1:tasks --info

3.) Son adımın çıktısının bir "assembleDefault" görevi listelendiğinden emin olun. Kitaplığın Android Kitaplığı eklentisini içerdiğinden emin değilsebuild.gradle . En tepede olduğu gibi.

apply plugin: 'com.android.library'

Orijinal posterin sorusunun yanıtlandığını biliyorum, ancak cevabın geçen yıl içinde değiştiğine inanıyorum ve bence hatanın birden çok nedeni var. Bu çözüm akışının çeşitli sorunlarla karşılaşanlara yardımcı olması gerektiğini düşünüyorum.


3

settings.gradleDosyayı kontrol edin . Dahil edilen modüller eksik veya başka bir dizinde olabilir. Örneğin, aşağıdaki satırda , proje dizininizin içindeki settings.gradlegradle arama common-libmodülü:

include ':common-lib'

Eksikse, bu modülü bulup projenize kopyalayabilir veya settings.gradledosyadaki yoluna başvurabilirsiniz :

include ':common-lib'
project(':common-lib').projectDir = new File('<path to your module i.e. C://Libraries/common-lib>') // 

0

Benim için (gördüğüm bazı yorumlara göre) sorun, gradle'ın içe aktarılan kitaplık için build.gradle'ı bulamamasıydı. Bu yapılandırma basittir ancak hata mesajı biraz şifreli. Örneğin android-map-utils projesini kullanıyordum ve bu 2 satırı bu şekilde ekleyerek settings.gradle'a dahil etmek zorunda kaldım.

include ':android-map-utils'
project(':android-map-utils').projectDir = new File(settingsDir, '..\\..\\modules\\android-maps-utils-master\\library')

Kitaplığın yolu, projemin settings.gradle dosyasıyla ilişkilidir. Ardından, uygulamamın build.gradle dosyasının bağımlılıklarımda şöyle bir referans verdim

...

    dependencies {
    ....
        compile project(':android-map-utils')
    ....

    }

Her seferinde bir modülü içe aktarmanızı, derlemenizi ve kontrol etmenizi öneririm.


0

Bu hatayı belirli düğüm modüllerini kaldırdıktan sonra tespit ettiğinizi varsayarsanız, ideal olarak kitaplığın build.gradle (Modül: app) altında bulunmaması gerekir. Manuel olarak kaldırılabilir ve projeyi tekrar senkronize edebilir.


0

Ben de aynı sorunla karşılaştım ve sorun aşağıdaki dosyalardan bazılarında kütüphanelerin eksik olmasıydı.

settings.gradle, app / build.gradle, package.json, MainApplication.java

Kitaplığın react-native-vector-ikonları olduğunu varsayalım, sonra aşağıdaki dosyalarda bahsedilmelidir;

Bağımlılıklar bölümünün altındaki app / build.gradle dosyasında şunu ekleyin:

derleme projesi (': react-native-vector-icons')

Android klasörü altındaki settings.gradle dosyasında aşağıdakileri ekleyin:

include ': react-native-vector-icons' project (': react-native-vector-icons'). projectDir = new File (rootProject.projectDir, '../node_modules/react-native-vector-icons/android' )

MainApplication.java'da aşağıdakileri ekleyin:

Bağımlılığı içe aktarın: import com.oblador.vectoricons.VectorIconsPackage;

ve sonra getPackages () yönteminde yeni VectorIconsPackage () ekleyin.


0

Birkaç react-native bağımlılığı kaldırmak sorunu çözdü

Bu satırları silmek problem çözüldü. Bu satır, rnpm bağlantısı tarafından oluşturulur, ancak bir hatadır.

compile project(':react-native-gps')
compile project(':react-native-maps')
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.