android - फोनगैप / कॉर्डोवा बिल्ड एंड्रॉइड नोड_मोड्यूल / क्यू / क्यू.जेएस फेंक ई;




cordova ant ionic node-modules (8)

कॉर्डोवा बिल्ड एंड्रॉइड मुझे निम्नलिखित गलती देता है

node_modules/q/q.js:126 throw e; (*error details)

इस सवाल से पहले पूछा गया है, लेकिन पाथ और ANDROID_HOME के ​​बारे में सामान्य उत्तर मेरे लिए काम नहीं किया है।

एसओ जमा करने की समस्याओं से बचने के लिए मैंने इसे कोड स्निपेट में रखा है

export HOME="/Users/rover"
export ANDROID_SDK="$HOME/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk"
export ANDROID_HOME="$ANDROID_SDK/tools"
export ANDROID_PLATFORM_TOOLS="$ANDROID_SDK/platform-tools"
export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$ANDROID_SDK/build-tools:$PATH"
export ANT_HOME="/usr/local/bin/ant"
#export PATH="$PATH:$ANT_HOME/bin"

मेरे पर्यावरण चर:

$ सेट | grep "एंड्रॉइड \ | पथ"

ANDROID_HOME = / उपयोगकर्ता / रोवर / दस्तावेज़ / देव / एंड्रॉइड / एडीटी-बंडल-मैक-x86_64-20140702 / एसडीके / उपकरण ANDROID_PLATFORM_TOOLS = / उपयोगकर्ता / रोवर / दस्तावेज़ / देव / एंड्रॉइड / एडीटी-बंडल-मैक-x86_64-20140702 / एसडीके / प्लेटफ़ॉर्म-टूल्स ANDROID_SDK = / उपयोगकर्ता / रोवर / दस्तावेज़ / देव / एंड्रॉइड / एडीटी-बंडल-मैक-x86_64-20140702 / एसडीके पथ = / उपयोगकर्ता / रोवर / दस्तावेज़ / देव / एंड्रॉइड / एडीटी-बंडल-मैक-x86_64-20140702 / SDK / उपकरण: / उपयोगकर्ताओं / रोवर / दस्तावेज़ / देव / एंड्रॉयड / ADT-बंडल-मैक-x86_64-20140702 / SDK / मंच-उपकरण: / उपयोगकर्ताओं / रोवर / दस्तावेज़ / देव / एंड्रॉयड / ADT-बंडल-मैक-x86_64 -20140702 / SDK / निर्माण उपकरण: / usr / स्थानीय / बिन: / usr / bin: / बिन: / usr / sbin: / sbin: / opt / X11 / बिन

$ which ant
/usr/local/bin/ant
$ ls /usr/local/bin/ant
/usr/local/bin/ant

$ cordova --version
4.0.0

$ ant -v
Apache Ant(TM) version 1.9.4

मैं मैक ओएसएक्स 10.10 (योसमेट) पर हूं जिसमें जावा 8 के साथ कोई समस्या हो सकती है। क्या इससे संबंधित हो सकता है?

$ जावा-संस्करण जावा संस्करण "1.8.0_05" जावा (टीएम) एसई रनटाइम पर्यावरण (1.8.0_05-बी 13 बनाएं) जावा हॉटस्पॉट (टीएम) 64-बिट सर्वर वीएम (25.5-बी 022, मिश्रित मोड बनाएं)

$ ant --execdebug
exec "/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/jre/bin/java" -classpath "/usr/local/Cellar/ant/1.9.4/libexec/lib/ant-launcher.jar" -Dant.home="/usr/local/Cellar/ant/1.9.4/libexec" -Dant.library.dir="/usr/local/Cellar/ant/1.9.4/libexec/lib" org.apache.tools.ant.launch.Launcher -cp ""

(*error details)

BUILD FAILED
/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk/tools/ant/build.xml:653: The following error occurred while executing this line:
/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk/tools/ant/build.xml:698: null returned: 1

Total time: 1 second

/Library/WebServer/Documents/Booster/core_ionic_git/platforms/android/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
Error code 1 for command: ant with args: debug,-f,/Library/WebServer/Documents/Booster/core_ionic_git/platforms/android/build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen
Error: /Library/WebServer/Documents/Booster/core_ionic_git/platforms/android/cordova/build: Command failed with exit code 8
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:756:16)
    at Process.ChildProcess._handle.onexit (child_process.js:823:5)

इसे ठीक करने पर कोई विचार?


Answers

मैंने देखा है कि आपका ANDROID_HOME चर गलत तरीके से सेटअप हो सकता है - जहां तक ​​मैं कह सकता हूं, इसे आपके एसडीके फ़ोल्डर की रूट पर सेट किया जाना चाहिए (आपके पास ANDROID_SDK सेट है), इसे आज़माएं (और सुनिश्चित करें कि आपके पास अभी भी $ दोनों हैं आपके पथ पर ANDROID_HOME / टूल और $ ANDROID_HOME / प्लेटफ़ॉर्म-टूल)।


मैं एक ही त्रुटि संदेश से मिलता हूं, लेकिन मेरी ANDROID_HOME सेटिंग सही है। मुझे लगता है कि \ प्लेटफॉर्म \ android \ ant-build फ़ोल्डर में .apk फ़ाइल खोलने के कारण त्रुटि उत्पन्न होती है। मैं .zk फ़ाइल पर कब्जा करने के बाद 7zip बंद करने के बाद, चींटी निर्माण पारित किया।


मैंने दीवार के खिलाफ घंटों और घंटों तक अपने सिर को टक्कर लगी और आखिरकार एक साधारण समाधान के साथ आया। मैं प्रोजेक्ट निर्देशिका में गया और दो आदेश जारी किए:

cordova platform remove android
cordova platform add android

"कॉर्डोवा बिल्ड एंड्रॉइड" के साथ पुनः संकलित और यह एक आकर्षण की तरह काम किया।

मुझे लगता है कि कॉर्डोवा कुछ फाइलों को संभवतः अपडेट करना चाहता था।

===== आयनिक के लिए अद्यतन ========

यदि आप आयनिक ढांचे का उपयोग कर रहे हैं तो ये आपके बचाव के लिए आदेश हैं:

ionic platform remove android
ionic platform add android

मैंने देखा है कि यह आमतौर पर तब होता है जब आप संकलन प्रक्रिया (Ctrl-C) को तोड़ते हैं।


कुछ भी बदलने से पहले, एक खाली कॉर्डोवा प्रोजेक्ट बनाएं और इसे बनाने का प्रयास करें और आप यह समझ सकते हैं कि समस्या विशिष्ट है या नहीं।

मैंने बहुत सारे बदलाव किए जाने के बाद, मुझे लगा कि हमारे पास दो नामों के समान नाम नहीं होना चाहिए: jquery और jQuery !


@mylord मुझे एक ही त्रुटि थी और यह अवैध डीबग प्रमाण पत्र के कारण था। लिनक्स पर ~ / .android debug.keystore फ़ाइल हटाएं।

अगली बार जब आप निर्माण करेंगे, बिल्ड टूल्स एक नई कीस्टोर और डीबग कुंजी को पुन: उत्पन्न करेंगे।

यह मेरे लिए हल हो गया। आशा है कि ये आपकी मदद करेगा।


मैं एक ही समस्या में भागता हूं और config.xml में गैर-अक्षर वर्णों से बचकर इसे हल करता हूं। name विशेषता के लिए Particulary:

<name>Temps d'espera</name>

मैंने इसे बदल दिया:

<name>Temps d\'espera</name>

और फिर यह पूरी तरह से चलाता है। आशा करता हूँ की ये काम करेगा।


'फोनगैप सेवा' चलाते समय मैं इसी समस्या में भाग गया, लेकिन समाधान बहुत अलग था। मैंने देखा कि जब मैं अपने कंप्यूटर को पुनरारंभ करता हूं तो ऑपरेशन काम करेगा। अगर कोई और इस समस्या में चलता है। उबंटू 15 पर समाधान यहां दिया गया है

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

जो स्टैक ओवरफ्लो थ्रेड से लिया गया था Grunt घड़ी त्रुटि - प्रतीक्षा कर रहा है ... घातक त्रुटि: ENOSPC देखें

पोस्टर्स त्रुटि के अलावा, मुझे त्रुटि थी

at exports._errnoException (util.js:856:11)
at FSWatcher.start (fs.js:1313:19)
at Object.fs.watch (fs.js:1341:11)

और नीचे।


उपरोक्त उत्तरों में से कई काम एक आकर्षण है यदि आपके पास अपनी संपत्ति फ़ोल्डर में आपकी सामग्री है।

हालांकि, अगर आप मुझे अपनी सभी संपत्तियों को किसी सर्वर से अपने आंतरिक संग्रहण में डाउनलोड और सहेजना चाहते हैं तो आप loadDataWithBaseURL का उपयोग कर सकते हैं और loadDataWithBaseURL रूप में अपने आंतरिक संग्रहण के संदर्भ का उपयोग कर सकते हैं। फिर सभी फाइलें लोड किए गए एचटीएमएल के सापेक्ष होंगी और पाए जाते हैं और सही तरीके से उपयोग किए जाते हैं।

मेरे आंतरिक भंडारण में मैंने निम्न फ़ाइलों को सहेजा है:

  • IndigoAntiqua2Text-Regular.ttf
  • style.css
  • image.png

फिर मैं निम्नलिखित कोड का उपयोग करता हूं:

WebView web = (WebView)findViewById(R.id.webby);
//For avoiding a weird error message
web.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

String webContent = "<!DOCTYPE html><html><head><meta charset=\"UTF-8\"><link rel=\"stylesheet\" href=\"style.css\"></head>"
                            + "<body><img src='image.png' width=\"100px\"><div class=\"running\">I am a text rendered with INDIGO</div></body></html>";

String internalFilePath = "file://" + getFilesDir().getAbsolutePath() + "/";
web.loadDataWithBaseURL(internalFilePath, webContent, "text/html", "UTF-8", "");

उपरोक्त एचटीएमएल (style.css) में उपयोग की जाने वाली सीएसएस फ़ाइल:

@font-face {
  font-family: 'MyCustomRunning';
  src: url('IndigoAntiqua2Text-Regular.ttf')  format('truetype');
}

.running{
    color: #565656;
     font-family: "MyCustomRunning";
     font-size: 48px;
}

मैंने minSdkVersion 19 (4.4) को लक्षित करते समय केवल यह कोशिश की है, इसलिए मुझे नहीं पता कि यह अन्य संस्करणों पर काम करता है या नहीं





android cordova ant ionic node-modules