अद्यतन: 21 मई 2017
ठीक है, यह वास्तव में एक बुरा मुद्दा था और मुझे उम्मीद में ठीक करने के लिए पूर्ण निर्देश लिखने के लिए मजबूर होना पड़ा कि यह दूसरों को बर्बाद कर देता है। निम्नलिखित googling का संयोजन है, स्वीकृत उत्तर पढ़ रहा है, और परीक्षण और त्रुटि से काम कर रहे चीजें हैं।
इससे पहले कि आप कुछ और करें .. सुनिश्चित करें कि आप डॉकर बंद कर रहे हैं तो बंद करें। एक लक्षण यह है कि एंड्रॉइड स्टूडियो में, एमुलेटर लोड संवाद बस चुपचाप गायब हो जाता है। यदि आप ऐप स्टार्ट कमांड से भाग गए हैं, तो आपका एप्लिकेशन बस डिवाइस से कनेक्ट करने के लिए प्रतीक्षा कर रहा है (संदेश जारी)।
मान लीजिए कि आपने ऐसा किया है और अभी भी काम नहीं कर रहा है, पढ़ें।
वैकल्पिक (शायद): केवल fyi - व्यक्तिगत रूप से, मैंने SDK Man का उपयोग अपनी मशीन पर ग्रैडल के मिलान संस्करण को स्थापित करने के लिए किया था।
मान लें कि आपको पहले से ही मार्शमलो या नौगेट (या दोनों) के साथ एक एंड्रॉइड स्टूडियो एमुलेटर मिल रहा है।
मेरे मामले में, मैं फिर कॉर्डोवा को काम करने की कोशिश कर रहा था।
कि क्या आप प्रारंभ करना चाहते पर निर्भर करता है
(अनुशंसित) तो:
cordova platform rm android
cordova platform add android
पहले एक डाउनलोड की जरूरत है। अपने OS के अनुसार निम्नलिखित डाउनलोड:
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
स्पष्टीकरण: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
यह अब स्क्रिप्ट के नजरिए से पथ खोज संतुष्ट करता है।
दूसरा, प्लेटफ़ॉर्म/एंड्रॉइड/build.gradle के लिए अपने कॉर्डोवा एप्लिकेशन की जांच करें, और gradleVersion
के लिए खोजें।
task wrapper(type: Wrapper) { gradleVersion = '2.14.1' }
अपने संस्करण के लिए, URL से डाउनलोड के इस प्रकार है:
https://services.gradle.org/distributions/gradle-X.Y.Z-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
फिर, एक बार डाउनलोड, अपने स्थानीय ड्राइव और ENV साथ संदर्भ पर जगह। चर। जैसे। (अपने संस्करण का उपयोग करने)
export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=file:///Users/myusername/temp/gradle-2.14.1-all.zip
स्पष्टीकरण: एक खोज आप इस वातावरण चर मिल जाएगा इस env के लिए एक वैकल्पिक ओवरराइड है, तो आप चलाते हैं। चर। बस चलाने अब check_gradle
के लिए चर काम, platforms/android/cordova/lib/builders/GradleBuilder.js
के तहत घोषित देखें:
cordova run android --verbose
सभी अच्छी तरह से जा रहा है, सब कुछ अब Android के लिए "बस काम" चाहिए। मेरे मामले में, आईओएस बॉक्स से बाहर था - लेकिन मैंने अन्य कारणों से एक्सकोड 8.3 के बजाय एक्सकोड 8.2 का उपयोग किया था।
एंड्रॉइड के लिए प्रोजेक्ट को पुन: प्रयास करना एक ही स्थिति में समाप्त होगा लेकिन यह है अभी के लिए एक अच्छा समाधान .. मैंने गिटहब पर GradleBuilder.js फ़ाइल के लिए मास्टर शाखा की जांच की है और यह धीरे-धीरे बदल गया है .13-all.zip। अगली कॉर्डोवा रिलीज शायद इसे ठीक कर देगा। –
धन्यवाद, shamaleyte! अब मैं केवल पिछले कई दिनों से बालों के झुंड को बहाल करने के लिए एक जगह खोजने की जरूरत है। – brianfit
@brianfit, हमें सभी जानते हैं कि क्या आपको बालों के झुंड को बहाल करने का समाधान मिल रहा है :)) – shamaleyte