Android स्टूडियो ग्रैडल कॉन्फ़िगरेशन जिसका नाम 'डिफ़ॉल्ट' नहीं मिला है


181

मुझे एंड्रॉइड स्टूडियो (0.1.5) के साथ अपने ऐप को संकलित करने में समस्या हो रही है। ऐप में 2 पुस्तकालयों का उपयोग किया गया है जिन्हें मैंने इस प्रकार शामिल किया है:

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

संकलन करते समय मुझे यह संदेश मिलता है:

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

क्या आप इस संदेश के साथ मेरी मदद कर सकते हैं? धन्यवाद!


5
क्या पुस्तकालय परियोजनाओं को सेटिंग्स में घोषित किया गया है। सभी ने प्रोजेक्ट जड़ों में बिल्ड.ग्रेडल फ़ाइलों को सही ढंग से कॉन्फ़िगर किया है? यह भी: पुस्तकालय और: android-ColorPickerPreference आपकी निर्देशिका में उसी स्तर पर निर्देशिका में होना चाहिए जो आपकी सेटिंग के रूप में है।
स्पीडिनोमैड्स

यह समस्या मेरे साथ तब हुई जब मेरे पास मेरे किसी लाइब्रेरी प्रोजेक्ट में बिल्ड.ग्रेडल फ़ाइल नहीं थी। इस फ़ाइल को बनाने से त्रुटि दूर हो गई।
इगोरगानापोलस्की

मेरे मामले में मेरी ग्रेडल कॉन्फ़िगरेशन फ़ाइल में से एक गायब है। यह ठीक से धक्का नहीं है।
ज़ार ई अहमर

कैसे gradle.build फ़ाइल बनाने के लिए .. मैं भी उसी मुद्दे का सामना कर रहा हूँ?

जवाबों:


82

मेरे मामले में, संकलन के बाद gradle tasks --info, लॉग वहाँ था:

रिक्त निर्माण फ़ाइल का उपयोग करके परियोजना का मूल्यांकन ': पुस्तकालयों: VolleyLibrary'।

इसलिए यह लाइब्रेरी की बिल्ड.ग्रेड फ़ाइल खोजने में विफल रहा। कारण फ़ोल्डर संरचना है।

ये था

-libraries
--volley
---VolleyLibrary

यह माना जाता है

-libraries
--VolleyLibrary

आपको यह 'मूल्यांकन: लाइब्रेरीज़: वॉली लॉर्ड्स' का मूल्यांकन कैसे मिला? आपकी बिल्ड.gradle फ़ाइल में वह रेखा कैसी दिखती है?
इगोरगानापोलस्की

निर्भरताएँ {संकलित ": पुस्तकालय: VolleyLibrary '} यह कुछ इस तरह होना चाहिए और इससे अधिक कुछ नहीं।
ग्यूडेमोसायरॉक

1
उपरोक्त आपके कोड नमूने के अनुसार: पुस्तकालयों को पूंजीकृत किया जाना चाहिए।
इगोरगानापोलस्की

3
आप "ग्रेडल फ़ंक्शंस --info" के साथ कैसे संकलित करते हैं?
टोडडोमो

8
./gradlew tasks --infoयह सभी कार्यों की जानकारी दिखाएगा। मुझे लगता है कि यह पता लगाने में मददगार होगा कि क्या गलत हो रहा है।
srain

60

मैं सभी सबमॉडल्स को खींचना भूल गया। तो मेरा

compile project(':something')

हल नहीं हो सका।

उपाय

git submodule update --init

2
कृपया बताएं कि मुझे किस फोल्डर में यह कमांड - प्रोजेक्ट फोल्डर या
सबमॉड्यूल

1
इसका उत्तर स्वीकार किया जाना चाहिए। ज्यादातर मामलों में भ्रामक त्रुटि संदेश का मतलब है कि आप सबमॉडल्स को क्लोन करना भूल गए हैं
सतर्कता

1
मेरे मामले में मैं मुश्किल से सेटिंग्स.ग्रेड फ़ाइल से सबमॉड्यूल निकालना भूल गया। तो सावधान रहें! : डी
यारोस्लाव हेवेरलोविच

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

इसके बजाय अपने ऐप की ग्रेडल फ़ाइल में उपरोक्त लाइन का उपयोग करें

compile project(':android-ColorPickerPreference')

आशा करता हूँ की ये काम करेगा


19

निम्नलिखित प्रक्रिया ने मेरी समस्या हल कर दी:

  • अपने उप-प्रोजेक्ट-मॉड्यूल / लाइब्रेरी-मॉड्यूल सेटिंग्स पर जाएं। ( F4मॉड्यूल का चयन करने के बाद दबाएं )
  • Add> Android-Gradle पर राइट क्लिक करें ।
  • अपने मॉड्यूल में build.gradle जोड़ें।
  • निम्न स्क्रिप्ट जोड़ें

    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'अपनी सेटिंग में जोड़ें

जब मैं लाइब्रेरी प्रोजेक्ट मॉड्यूल सेटिंग्स का चयन करता हूं तो विकल्प नहीं होता है और एफ 4 कुछ नहीं करता है।
डेनियल बेटमैन

1
@DanielBaughman कृपया अपनी क्वेरी स्पष्ट करें, लेकिन यदि आप अभी भी मॉड्यूल सेटिंग्स को खोजने में असमर्थ हैं, तो आप 2 चीजें कर सकते हैं: 1) फ़ाइल पर जाएं> मॉड्यूल आयात करें और चरणों का पालन करें, Android Studio स्वतः build.gradle फ़ाइल जोड़ देगा निर्भरता भी जोड़ते हैं। 2) मैन्युअल रूप से बिल्ड.ग्रेड फ़ाइल जोड़ें इसमें स्क्रिप्ट लिखें और आपकी समस्या हल हो जाएगी।
अहमद अली नासिर

1
आपके सहयोग के लिए धन्यवाद। मैंने जो किया था वह वास्तव में उस फ़ोल्डर को रखा गया था जिसे मैं परियोजना में आयात कर रहा था - मॉड्यूल आयात किया, और फिर, मेरी परियोजना गुणों में, स्रोत मॉड्यूल का संदर्भ दिया जिसे मैंने नए मॉड्यूल फ़ोल्डर के बजाय पुस्तकालय के रूप में आयात करने का लक्ष्य बनाया था। मैंने उस संदर्भ को समायोजित किया और उसने इसे ठीक किया।
डैनियल बेटमैन

12

मुझे भी इस त्रुटि का सामना करना पड़ा है - मैं लाइब्रेरी प्रोजेक्ट के लिए build.gradle स्क्रिप्ट बनाना भूल गया।


10

अभी तक एक और कारण - मैं सेटिंग्स में एक मॉड्यूल को शामिल करने की कोशिश कर रहा था

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

केवल समस्या यह थी, मैंने केवल अपने एप्लिकेशन प्रोजेक्ट के बाहर निर्देशिका को स्थानांतरित करने के लिए एक ग्रहण से मॉड्यूल आयात किया था, अर्थात पथ '../../MyModule'मौजूद नहीं था।


यह कमोबेश मेरा मुद्दा भी था। मेरे पास ../रास्ते में बहुत सारे थे और यह सही जगह की ओर इशारा नहीं कर रहा था। यह विशेष रूप से नीचे ट्रैक करने के लिए कठिन है क्योंकि अगर यह मौजूद नहीं है तो एंड्रॉइड स्टूडियो / ग्रैडल डायरेक्टरी बनाएगा। इसके बजाय एक सरल त्रुटि को फेंकने के बजाय "नोप।"
जोशुआ पिंटर

7

मेरा समाधान बस सेटिंग से एक लाइन को हटाने के लिए है। फ़ाइल, जो मौजूद नहीं है एक मॉड्यूल का प्रतिनिधित्व करता है:

include ':somesdk'

और मुख्य परियोजना के build.gradle से संबंधित लाइन को भी हटा दें:

compile project(':somesdk')

6

इस त्रुटि के होने पर मुझे एक git सबमॉड्यूल की समस्या थी। gradle tasks --infoअधिक विस्तृत समस्या वर्णन के लिए दौड़ने का प्रयास करें । मैंने पहली बार उपयोग किया gradle tasks --debug, जो लगभग उतना उपयोगी नहीं था --info


5

मान लीजिए कि आप अपनी परियोजना में एक पुस्तकालय (उदाहरण के लिए MyLib) जोड़ना चाहते हैं, तो आपको इन चरणों का पालन करना चाहिए:

  1. अगर आपकी लाइब्रेरी का प्रकार Eclipse ADT है तो अपनी लाइब्रेरी को एक ढाल Android लाइब्रेरी के रूप में तैयार करें
    इस काम के लिए इसे Android स्टूडियो में आयात करने के लिए पर्याप्त है
  2. अपने लायब्रेरी फ़ोल्डर की प्रतिलिपि बनाएँ, इस स्थिति में MyLib फ़ोल्डर, और अपने मुख्य प्रोजेक्ट फ़ोल्डर में पेस्ट करें। अपने मुख्य प्रोजेक्ट फ़ोल्डर में एक नया फ़ोल्डर बनाना और उसे लाइब्रेरीज़ नाम देना एक अच्छा अभ्यास है
  3. Android Studio पर जाएं और Settings.gradle फ़ाइल खोलें , वहां आपको अपनी मुख्य परियोजना में अपनी लाइब्रेरी शामिल करनी चाहिए। उदाहरण के लिए include ':MyPrj', 'Libraries:MyLib'नोट : इसके लिए वर्तमान निर्देशिका में स्टेटमेंट आपका मुख्य प्रोजेक्ट फ़ोल्डर है। यदि आप अपनी परियोजना को एक फ़ोल्डर में पेस्ट करते हैं, तो आपको मुख्य परियोजना निर्देशिका के सापेक्ष इसका उल्लेख करना होगा। मेरे मामले में मैं MyLib को लाइब्रेरी फ़ोल्डर में पेस्ट करता हूं । यह लाइब्रेरी नाम एक कीवर्ड नहीं है और आप इसके लिए अन्य नाम चुन सकते हैं
  4. अपना प्रोजेक्ट स्ट्रक्चर पेज खोलें ( फ़ाइल-> प्रोजेक्ट स्ट्रक्चर ... ) मॉड्यूल पर क्लिक करें फिर अपने मुख्य प्रोजेक्ट पर क्लिक करें निर्भरता टैब पर जाएं +फिर मॉड्यूल निर्भरता चुनें और आपके लाइब्रेरियां हैं और आप उन्हें चुन सकते हैं जैसा आप चाहते हैं

आशा है कि यह मदद करेगा


स्पष्ट होने के लिए, github प्रोजेक्ट sliding-menu github.com/jfeinstein10/SlidingMenu/tree/master/library पर जाएं और इसकी संरचना जांचें! पुराना प्रारूप है android प्रोजेक्ट +build.gradle फ़ाइल !! धन्यवाद, @ABFORCE +1
डेडफिश

इस पोस्ट ने मुझे OpenCV4Android को Android Studio में आयात करने में मदद की, इसलिए मैं इस विधि के लिए प्रतिज्ञा करूँगा।
क्रेग

5

मेरे मामले में मैं ग्रैडल फ़ाइलों का उपयोग कर रहा था जो विंडोज के तहत काम करती हैं लेकिन लिनक्स पर विफल रहीं। include ':SomeProject'और compile project(':SomeProject')केस संवेदी थे और नहीं पाए गए।



3

पहले ब्लश पर सबकुछ ठीक लगता है, लेकिन यहां पर कुछ लोगों ने इधर-उधर जवाब दिया, जो मददगार हो सकता है: https://stackoverflow.com/a/16905808/7944

यहां तक ​​कि मूल उत्तर लेखक को सुपर आत्मविश्वास नहीं लगता है, लेकिन यह निम्नलिखित पर ध्यान देने योग्य है। इसके अलावा, आपने अपनी निर्देशिका संरचना के बारे में कुछ नहीं कहा और इसलिए मैं यह मान रहा हूं कि यह डिफ़ॉल्ट सामान है, लेकिन निश्चित रूप से नहीं जान सकता।


2

इस सटीक त्रुटि का एक अन्य संभावित कारण: मैंने पाया कि इस त्रुटि का निर्माण build.gradle निर्भरता अनुभाग में कुछ अप्रयुक्त पुस्तकालयों पर टिप्पणी करके किया गया था। सुनिश्चित करें कि ये रास्ते और ऐसे सभी सही हैं।

मैं आपके संकलन प्रोजेक्ट (': android-ColorPickerPreference') में build.gradle में वास्तविक रूप से करीब से देखूंगा - संबंधित कोड और इस लाइन को build.gradle में टिप्पणी करने का प्रयास करें और देखें कि क्या वह संकलन करता है - फिर वहां से जाना पथ या पुस्तकालय समस्या।


2

मेरे पास समान मुद्दा था और परियोजना में एक पुस्तकालय जोड़ने का बहुत सरल तरीका मिला।

  1. अपनी परियोजना की जड़ में फ़ोल्डर "लिबास" बनाएं।
  2. JAR फ़ाइल को उस फ़ोल्डर में कॉपी करें।
  3. एंड्रॉइड स्टूडियो में वापस जाएं, अपनी JAR फ़ाइल का पता लगाएं और इसे राइट क्लिक करें, "Add As Library ..." चुनें, यह आपसे केवल यह पूछेगा कि आप इसे किस मॉड्यूल से जोड़ना चाहते हैं, अच्छी तरह से "ऐप" चुनें।

अब आपके "ऐप" मॉड्यूल में आप उस JAR से कक्षाओं का उपयोग कर सकते हैं, यह स्वचालित रूप से "आयात" घोषणाओं को खोजने और जोड़ने में सक्षम होगा और बस ठीक संकलन करेगा। एकमात्र मुद्दा यह हो सकता है कि यह पूर्णता के साथ निर्भरता जोड़ता है जैसे:

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

आपके "ऐप / बिल्ड.ग्रेडल" में।

उम्मीद है की वो मदद करदे!


2

मैंने सेटिंग्स में कुछ रास्तों को ठीक करके इस मुद्दे को हल किया। नीचे दिखाए अनुसार:

include ':project-external-module'

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

मैं अपनी परियोजना के लिए एक बाहरी मॉड्यूल शामिल था और इसके लिए गलत रास्ता था।


1

मेरे पास यह समस्या थी जब मैंने अपने प्रोजेक्ट में Google-play-services_lib को मैन्युअल रूप से चिपकाया था। जाहिर है, प्ले-सर्विसेज में बिल्ड.ग्रेड फ़ाइल नहीं थी। समाधान, मैंने सीखा, इस निर्भरता को अपनी परियोजना के निर्माण में रखना है ।ग्रेड (प्ले-सर्विस निर्देशिका को हार्ड कॉपी करने के बजाय):

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

1

जब मैं अपने पुस्तकालय को मैन्युअल रूप से आयात करता हूं तो मेरे पास एक ही मुद्दा था। मैंने फ़ाइल> आयात मॉड्यूल के साथ अपनी लाइब्रेरी को जोड़ने की कोशिश की और इसने मेरी समस्या हल कर दी।


1

मेरे मामले में मुझे यह त्रुटि तब मिली जब मैंने build.gradleफ़ाइल में लाइब्रेरी (निर्भरता) के मॉड्यूल नाम को गलत लिखा ।

इसलिए यह जांचना याद रखें कि क्या मॉड्यूल का नाम सही है।

build.gradle

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

1

मुझे हाल ही में इस त्रुटि का सामना करना पड़ा जब मैंने एक परियोजना को संदर्भित किया जो कि जीआईटी सबमॉड्यूल के माध्यम से initiliazed था।

मैं यह पता लगाने के लिए समाप्त हो गया कि रूट build.gradle सबमॉड्यूल (एक जावा प्रोजेक्ट) फाइल में रूट स्तर पर जावा प्लगइन लागू नहीं था।

यह केवल था

apply plugin: 'idea'

मैंने जावा प्लगइन जोड़ा:

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

एक बार जब मैंने जावा प्लगइन लागू किया तो 'डिफ़ॉल्ट नहीं मिला' संदेश गायब हो गया और बिल्ड सफल हो गया।


1

इसके अलावा ... जांचें कि क्या आपके पास अपनी परियोजना के अंदर मॉड्यूल फाइलें हैं।

उदाहरण के लिए, मेरे पास एक ऐप है जो वॉली मॉड्यूल का उपयोग करता है। एंड्रॉइड विकास पर अपने अध्ययन के दौरान, मैंने गलती से उन फ़ाइलों को हटा दिया जो "वॉली" निर्देशिका के अंदर थीं।

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

मैंने सिर्फ प्रोजेक्ट को क्लोन किया (देखें bellow) और फिर, मैंने एंड्रॉइड स्टूडियो (टूल> एंड्रॉइड> ग्रेडल फाइल्स के साथ सिंक प्रोजेक्ट) में प्रोजेक्ट का सिंक बनाया , और ग्रेडल सामान्य रूप से तैयार हुआ (ग्रेडल कंसोल: एंड्रॉइड स्टूडियो के निचले दाएं कोने) ;)।

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

मॉड्यूल / लाइब्रेरी के लिए आपका बिल्ड.ग्रेड उतना ही सरल हो सकता है:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

यदि आपका मॉड्यूल सिर्फ .java POJO वर्गों का एक संग्रह है।

यदि यह मॉडल / इकाई वर्ग है और आप एनोटेशन का उपयोग कर रहे हैं और कुछ निर्भरताएँ हैं जिन्हें आप उन में जोड़ सकते हैं:

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

यह तब होता है जब आप आयातित या कॉपी किए गए फ़ोल्डर / प्रोजेक्ट को लाइब्रेरी फ़ोल्डर में मॉड्यूल के रूप में संकलित कर रहे हैं। यह मुद्दा तब उठा था जब मैंने build.gradleफ़ाइल को शामिल नहीं किया था । जब मैंने फ़ाइल जोड़ी तो सब ठीक हो गया।


0

मेरे लिए यह एक रिश्तेदार प्रतीकात्मक लिंक (संदर्भित परियोजना के लिए) निकला, जिसका उपयोग ग्रेड द्वारा नहीं किया जा सकता था। (मैं एक पुस्तकालय का उल्लेख कर रहा था)। एक सुंदर नुकीला किनारा मामला है, लेकिन शायद यह भविष्य में किसी की मदद करता है।

मैंने एक निरपेक्ष प्रतीकात्मक लिंक डालकर इसे हल किया।

इससे पहले ln -s ../libraryके बादln -s /the/full/path/to/the/library


0

मुझे भी इसी मुद्दे का सामना करना पड़ा और इसने सेटिंग में एक झंडे (gradle.ext.set ("allowLocalEdits", true) को बदलकर झूठा कर दिया।


0

मेरे लिए, आश्रित पुस्तकालय में से एक सही रास्ते में मौजूद नहीं है, लेकिन त्रुटि संदेश THAT लाइब्रेरी को सही ढंग से इंगित नहीं करता है।

उदाहरण के लिए, जो मैंने याद किया, वह है, :library-3लेकिन त्रुटि फेंकता है:library-1

निर्धन।


-1

वॉली लाइब्रेरी और सिंक को जोड़ने का प्रयास करें और प्रोग्राम को चलाएं। यदि किसी ने खींच लिया है और मेरे पास वॉली उपयोग है और त्रुटि को दिखाता है-'थायरॉइड स्टूडियो ग्रैडल कॉनफिगरेशन' नाम 'डिफॉल्ट' के साथ नहीं मिला है, तो अपने ग्रेड में वॉली लाइब्रेरी को जोड़ने के चरण का पालन करें। आशा करता हूँ की ये काम करेगा। मैंने अपनी समस्या इस तरह से साफ़ की।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.