ग्रैडल संस्करण 3.3 BuildActionExecuter पर forTask () विधि का समर्थन नहीं करता है


111

मैंने अभी अपने एंड्रॉइड स्टूडियो को 3.0 कैनरी में अपडेट किया है। अब मैं एंड्रॉइड स्टूडियो 3.0 कैनरी पर अपने मौजूदा प्रोजेक्ट पर काम कर रहा हूं। डिफ़ॉल्ट रूप से : 3.0.0- Alpha1 मेरे प्रोजेक्ट में सेट है: gradle_file। इसलिए मैंने अपने ग्रेड संस्करण को 2.2.3 में बदल दिया और अब मुझे यह त्रुटि मिल रही है:

त्रुटि: ग्रेडल निष्पादन को पूरा करने में विफल।

कारण: आपके द्वारा उपयोग किए जा रहे ग्रेडेल का संस्करण (3.3) BuildActionExecuter पर forTasks () विधि का समर्थन नहीं करता है। इसके लिए समर्थन ग्रेड 3.5 और बाद के सभी संस्करणों में उपलब्ध है।

मैंने अपनी ग्रेड फ़ाइल यहाँ संलग्न की है

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

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

5
किसी को भी सुझाव दे सकते हैं कि आप कैसे ग्रेड संस्करण और एंड्रॉइड प्लगइन संस्करण को अपडेट किए बिना इन्हें ठीक कर सकते हैं? क्योंकि ऐसा करने के लिए बहुत से अन्य परिवर्तनों की आवश्यकता होती है जो हम कुछ व्यावसायिक बाधाओं के कारण नहीं कर सकते हैं।
सासुके उचिहा

जवाबों:


196

मैं सिर्फ एक ही मुद्दा था। "Gradle-wrapper.properties" में ग्रैडल डिस्ट्रीब्यूशन बदलकर इसे फिक्स्ड करें।

यहाँ मैंने क्या कॉन्फ़िगर किया है:

#Wed Mar 22 16:13:58 BRT 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

अधिक जानकारी के लिए

माइग्रेशन की मदद के लिए ऑफिशियल वीडियो https://www.youtube.com/watch?v=oBsbI8ICYKg

नीचे @TmTron से भी टिप्पणी देखें


19
नवीनतम वितरण को जानने के इच्छुक किसी भी व्यक्ति के लिए, directory@gradle.org/distributions पर जाएं । वे सभी सूचीबद्ध हैं
आईजी पास्कल

4
विशिष्ट संस्करण में बदलने से पहले कृपया @IGPascual टिप्पणी पढ़ें, क्योंकि आप वर्तमान में उपलब्ध नवीनतम संस्करण में संस्करण को अपडेट कर सकते हैं। जब यह टिप्पणी पोस्ट की गई, तो वर्तमान रिलीज 4.0 (स्थिर) है। इसलिए यह सुरक्षित है यदि आप बदल जाते हैंdistributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip
हेन्डरडब्ल्यूडी

4
जब आप मल्टी-मॉड्यूल एप्लिकेशन खोलते हैं, तो ध्यान रखें: एंड्रॉइड स्टूडियो आपको प्रोजेक्ट-एंड्रॉइड दृश्य में केवल एक ग्रेड-रैपर गुण फ़ील्ड दिखा सकता है। सब कुछ बदलने के लिए सुनिश्चित करें, फाइंड इन पाथ (CTRL + SHIFT + F) का उपयोग करें और वितरण के लिए खोजें ।
TmTron

मैं भी नीचे त्रुटि के साथ एक ही मुद्दा का सामना करना पड़ा Cause: The version of Gradle you are using (3.3) does not support the forTasks() method on BuildActionExecuter. Support for this is available in Gradle 3.5 and all later versions. तो मैं gradle-wrapper.properties फ़ाइल अद्यतन किया हैdistributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip
ViramP

1
आपके सिर, @TmTron के लिए धन्यवाद, यही मेरी समस्या थी। यदि आप बुरा नहीं मानते हैं, तो मुझे लगता है कि आपके उत्तर में TmTron की टिप्पणी को उजागर करना फायदेमंद होगा।
बरमेटलकोडर

64

फ़ाइल "gradle-wrapper.properties" में बदलें

इस लाइन और सिंक प्रोजेक्ट को लगाएं-

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

यह काम करेगा। जाँच के लिए नवीनतम संस्करण services.gradle.org/distributions

बिल्ड मेनू से एक बार बदले जाने के बाद, सिंक प्रोजेक्ट, क्लीन एंड रिबिल्ड प्रोजेक्ट ।


4
विशिष्ट संस्करण में बदलने से पहले सेवाओं की जाँच करें। regle.org/distributions, क्योंकि आप वर्तमान में उपलब्ध नवीनतम संस्करण के संस्करण को अपडेट कर सकते हैं। जब यह टिप्पणी पोस्ट की गई, तो वर्तमान रिलीज 4.0 (स्थिर) है। यदि आप इसे बदलते हैं तो यह सुरक्षित है distributionUrl=https\://services.gradle.org/distributions/g‌​radle-4.0-all.zip, क्योंकि यह milestone-1संस्करण की तुलना में अधिक स्थिर है
HendraWD

हां, आप सही हैं, हमेशा अन्य की तुलना में स्थिर संस्करण पसंद करते हैं। लेकिन फिर भी आप इसका इस्तेमाल कर सकते हैं। @HendraWD टिप्पणी के लिए धन्यवाद।
कैलास भाकड़े

2.3 से 3.0 तक एंड्रॉइड स्टूडियो को अपडेट करना, youtube.com/watch?v=oBsbI8ICYKg
कैलास भाकड़े

28

डिबग एपीके बनाने की कोशिश करते समय ऐसा हुआ।

समाधान: अद्यतन ग्रेड संस्करण 3.5

फ़ाइल पर नेविगेट करें -> प्रोजेक्ट संरचना -> प्रोजेक्ट -> ग्रेड संस्करण = 3.5

यह एंड्रॉइड स्टूडियो 3.0 के लिए काम करता है

यह उस मेनू की छवि है जहां आपको परिवर्तन करना है


यह उन लोगों के लिए समाधान है जो जानबूझकर ग्रेड 4 में अपग्रेड नहीं करना चाहते हैं
राम

यह नहीं है यह ग्रेडल वर्जन 3.5 में अपग्रेड होता है, जिस कार्यक्षमता का वह उपयोग करना चाहता है, उसके लिए न्यूनतम।
क्विंटन एम।

14

कृपया नीचे दिए गए चरणों का पालन करें:

  1. Android स्टूडियो में अपना प्रोजेक्ट खोलें
  2. Android मेनू में, gradle-wrapper.properties खोलें
  3. नीचे दी गई लाइन के साथ वितरण url लाइन बदलें

distributionUrl = https: //services.gradle.org/distributions/gradle-4.1-all.zip

  1. बस। अब अपना प्रोजेक्ट बनाएं।

अधिक समझ के लिए स्क्रीनशॉट संलग्न है। यहां छवि विवरण दर्ज करें


त्रुटि: लॉक फ़ाइल C के लिए मूल निर्देशिका नहीं बना सका: \ Users \ Kaveesh \ .gradle \ आवरण \ dists \ gradle-4.1-all \ bzyivzo6n839fup2jbap0tjew \ gradle-4.1-all.zip.lck
Kaveesh Kanwal

यह लॉक इश्यू दिखा रहा है। एंड्रॉइड स्टूडियो निर्देशिका बनाने में सक्षम नहीं है।
नवीद अहमद

5

मैंने निम्नलिखित कोड में gradle-wrapper.properties फ़ाइल में changinf वितरण का उपयोग करके समस्या हल की

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

2

एक बार इन्हें टॉप लेवल ग्रैडल के साथ जोड़ें

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

buildscript {

    repositories {
        maven { url 'https://maven.google.com' }
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-alpha9'

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

allprojects {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

1

हमारे पास इससे निपटने के दो तरीके हैं।

  1. आप अपने ग्रेड के संस्करण को शुरुआती एक से 3.5 संस्करण उत्पाद में अपडेट कर सकते हैं;

  2. या, आप अपने ग्रेडल रैपर को 4.1 संस्करण पर लगा सकते हैं।

सभी तरीके दोनों उपयोगी हैं।




0

इस कोड को gradle-wrapper.properties फ़ाइल में डालें और यह आपके साथ काम करेगा

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.