cordova - कॉर्डोवा ने ग्रेड-वेपर। प्रॉपर्टीज़ फ़ाइल में वितरण वितरण का निर्माण किया




gradle android-gradle (5)

जब मैं चलाता हूं तो मैं निम्न अपवाद बनाए रखता हूं

 cordova run android --verbose
  • क्या हुआ: मूल समस्या 'एंड्रॉइड' का मूल्यांकन करते समय एक समस्या हुई

    प्लगइन को लागू करने में विफल [id 'android'] Gradle version 2.10 आवश्यक है। वर्तमान संस्करण 2.2.1 है। यदि ग्रेडले आवरण का उपयोग कर रहे हैं, तो C: \ Users \ Project \ gradle \ wrapper \ gradle-wrapper.properties में deliveryUrl को संपादित करने का प्रयास करें। Gradle-2.10-all.zip

इसका कारण यह है कि जब मैं कॉर्डोवा बिल्ड कमांड चलाता हूं तब लाइन बदलती है;

distributionUrl=http\://services.gradle.org/distributions/gradle-2.1.0-all.zip

सेवा मेरे

distributionUrl=http\://services.gradle.org/distributions/gradle-2.2.1-all.zip

इसे रोकने के लिए कोई रास्ता?


Answers

सिर्फ फ़ाइल प्रोजेक्ट / प्लेटफ़ॉर्म / एंड्रॉइड / बिल्ड.ग्रीड खोलें और अपडेट करें

निर्भरता {
क्लासपाथ 'com.android.tools.build:gradle:XXX'
}

तथा

कार्य आवरण (प्रकार: रैपर) {
स्नातक संस्करण = 'एक्स.एक्स'
}

यहां संदर्भ देखें https://developer.android.com/studio/releases/gradle-plugin.html#updating-gradle

XX बदलने के लिए


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

आपको जाना चाहिए और निम्नलिखित जेएस फ़ाइल की जांच करनी चाहिए:

$PROJECT_ROOT/platforms/android/cordova/lib/builders/GradleBuilder.js

फिर फ़ाइल में निम्न चर सहित रेखा खोजें:

GradleBuilder.prototype.prepEnv

और वितरण यूआरएल चर की जांच करें:

var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http\\://services.gradle.org/distributions/gradle-2.2.1-all.zip';

यही वह चीज है जो आप चाहते हैं और आप को gradle-2.10 -all.zip यूआरएल में बदलने की जरूरत है;

अब आप बिल्ड कमांड चला सकते हैं, और वहां आप जा सकते हैं!

निम्नलिखित से प्रेरित; कॉर्डोवा बिल्ड एंड्रॉइड में उपयोग करने के लिए gradle स्थापित करें


आप इस मुद्दे को हल करने के लिए निम्नलिखित का प्रयास कर सकते हैं,

विंडोज़ पर, File -> Settings -> Builds,Execution,Deployment -> Build Tools -> Gradle -> Gradle home बदलें File -> Settings -> Builds,Execution,Deployment -> Build Tools -> Gradle -> Gradle home पथ

मैक ओएस पर, Android Studio -> Preferences -> Builds,Execution,Deployment -> Build Tools -> Gradle -> Gradle home बदलें Android Studio -> Preferences -> Builds,Execution,Deployment -> Build Tools -> Gradle -> Gradle home पथ

अन्यथा डिफ़ॉल्ट ग्रेडर आवरण का प्रयोग करें और संपादित करें Project\gradle\wrapper\gradle-wrapper.properties file's distributionUrl तरह से:

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

अद्यतन: 21 मई 2017

ठीक है, यह एक बहुत ही बुरा मुद्दा था और मुझे लगता है कि आशा है कि यह दूसरों को उस पर बिताने के घंटे बचाए रखने के लिए पूर्ण निर्देश लिखने के लिए मजबूर हो गया। निम्नलिखित गोगलिंग का एक संयोजन है, स्वीकार किए जाते हैं उत्तर को पढ़ना, परीक्षण और त्रुटि से काम करना

इससे पहले कि आप कुछ और करें .. सुनिश्चित करें कि आप डॉकर को बंद कर देते हैं यदि यह चल रहा है। एक लक्षण यह है कि एंड्रॉइड स्टूडियो में, इम्यूलेटर लोड डायलॉग बस चुपचाप गायब हो जाता है। यदि आप ऐप प्रारंभ कमांड से भागते हैं, तो आपका एप्लिकेशन बस डिवाइस (संदेश जारी किए) से कनेक्ट होने की प्रतीक्षा कर रहा है।

यह मानते हुए कि आपने ऐसा किया है और अभी भी काम नहीं कर रहा है, पर पढ़ें।

वैकल्पिक (शायद) : केवल फ़िई - निजी तौर पर, मैंने अपने मशीन पर ग्रेडल के मिलान संस्करण को स्थापित करने के लिए एसडीके मैन का इस्तेमाल किया।

मान लें कि आपने मार्शमल्लो या नोगाट (या दोनों) के साथ पहले से काम कर रहे एंड्रॉइड स्टूडियो इम्यूलेटर प्राप्त कर लिया है।

मेरे मामले में, मैं तब कॉर्डोबा को काम करने की कोशिश कर रहा था।

इस पर निर्भर करते हुए कि क्या आप शुरू करना चाहते हैं (अनुशंसित):

cordova platform rm android
cordova platform add android

सबसे पहले एक डाउनलोड की आवश्यकता है। अपने ओएस के अनुसार निम्न डाउनलोड करें:

https://dl.google.com/android/repository/tools_r25.2.3-windows.zip

https://dl.google.com/android/repository/tools_r25.2.5-linux.zip

(मै मैक पर चल रहा था, तो डाउनलोड किया गया :)

https://dl.google.com/android/repository/tools_r25.2.5-macosx.zip

इसे खोलना, और templates फ़ोल्डर को /Users/arcseldon/Library/Android/sdk/tools में प्रतिलिपि बनाएं

स्पष्टीकरण: platforms/android/cordova/check_reqs.js तहत घोषित module.exports.check_gradle फ़ंक्शन के अंदर तर्क को देखें, यह समझने के लिए कि यह कैसे platforms/android/cordova/check_reqs.js आवरण के लिए पथ प्राप्त करने का प्रयास कर रहा है। यह सह-इरिज करता है

$ echo $ANDROID_HOME
/Users/arcseldon/Library/Android/sdk

मैं एक tools उपनिर्देशिका देख सकता था, लेकिन उसमें कोई templates फ़ोल्डर नहीं था। तो templates फ़ोल्डर को डाउनलोड और निकाले ज़िप से कॉपी करें, और इसे $ANDROID_HOME/tools अंदर पेस्ट करें

आपको उस पथ पदानुक्रम के साथ समाप्त करना चाहिए जिसमें शामिल है:

/Users/arcseldon/Library/Android/sdk/tools/templates/gradle/wrapper 

यह अब स्क्रिप्ट परिप्रेक्ष्य से पथ खोज को संतुष्ट करता है।

दूसरे , प्लेटफार्मों / एंड्रॉइड / बिल्ड.ग्रॅडल के लिए अपने gradleVersion एप्लिकेशन की जांच करें, और gradleVersion लिए खोज करें।

task wrapper(type: Wrapper) { gradleVersion = '2.14.1' }

आपके संस्करण के लिए, निम्न प्रकार से यूआरएल से डाउनलोड करें:

https://services.gradle.org/distributions/gradle-XYZ-all.zip

अपने संस्करण से मिलान करने के लिए आवश्यक एक्स, वाई, जेड की जगह

मेरे मामले में,

https://services.gradle.org/distributions/gradle-2.14.1-all.zip

अन्य उदाहरण:

https://services.gradle.org/distributions/gradle-3.3-all.zip https://services.gradle.org/distributions/gradle-2.4-all.zip

फिर, एक बार डाउनलोड किए जाने पर, आपके स्थानीय ड्राइव पर और एनआईवी के साथ संदर्भ। चर। जैसे। (अपने संस्करण में बदल रहा है)

export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=file:///Users/myusername/temp/gradle-2.14.1-all.zip

स्पष्टीकरण: यदि आप कोई खोज चलाते हैं तो आपको यह पर्यावरण चर मिलेगा इस env के लिए एक वैकल्पिक ओवरराइड है। चर। platforms/android/cordova/lib/builders/GradleBuilder.js तहत घोषित check_gradle लिए वैरिएबल असाइनमेंट देखें

अब बस चलाएं:

cordova run android --verbose

सभी अच्छी तरह से चल रहे हैं, अब सब कुछ एंड्रॉइड के लिए "बस काम" करना चाहिए। मेरे मामले में, आईओएस बॉक्स से बाहर था - लेकिन मैंने अन्य कारणों से एक्सकोड 8.3 की जगह एक्सकोड 8.2 का उपयोग किया था।


एंड्रॉइड स्टूडियो और ग्रैडल संस्करण बहुत खराब प्रबंधित की तरह दिखता है। और क्षमता के मुद्दों में बहुत सारे संस्करण हैं। और त्रुटि संदेश ज्यादातर अनजान है। इस विशेष मुद्दे के लिए। निकटतम उत्तर "जितेंद्र सिंह" से है। संस्करण को यहां बदलें:

 classpath 'com.android.tools.build:gradle:2.0.0'

लेकिन मेरे मामले में: एंड्रॉइड स्टूडियो 2.2 आरसी, मुझे अभी भी एक और त्रुटि मिलती है:

Could not find matching constructor for: com.android.build.gradle.internal.LibraryTaskManager(org.gradle.api.internal.project.DefaultProject_Decorated, com.android.builder.core.AndroidBuilder, android.databinding.tool.DataBindingBuilder, com.android.build.gradle.LibraryExtension_Decorated, com.android.build.gradle.internal.SdkHandler, com.android.build.gradle.internal.DependencyManager, org.gradle.tooling.provider.model.internal.DefaultToolingModelBuilderRegistry)

तो मैं नवीनतम com.android.tools.build:gradle संस्करण खोजने के लिए मेवेन सेंटर में गया जो अब 2.1.3 है। तो बदलने के बाद

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

अंत में मेरी समस्या हल हो गई।





cordova gradle android-gradle