java - कॉर्डोबा एंड्रॉइड प्रोजेक्ट को बनाने में त्रुटि




android cordova ant (4)

नमस्ते मैं निम्नलिखित पर्यावरण के साथ विंडोज 7 में एंड्रॉइड प्लगइन के साथ कॉर्डोवा प्रोजेक्ट बनाने की कोशिश कर रहा हूं

ANDROID_HOME=D:\DevTools\Android\Android_SDK_NDK\android-sdk
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45

मैंने एक कॉर्डोवा प्रोजेक्ट तैयार किया

>cordova create CordovaProject io.xyz.hellocordova CordovaApp

और एंड्रॉइड प्लगइन जोड़ा

>cordova platform add android

अब ऐसा करने के बाद मैंने एंड्रॉइड परियोजना बनाने की कोशिश की

>cordova build android

यह gradle2.2.1-all.zip डाउनलोड करने का प्रयास कर रहा है जो अपवाद के रूप में ले जाता है

E:\Cordova\Workspace\HelloCordova>cordova build android --verbose
Executing "before_build"  hook for all plugins.
Executing "before_prepare"  hook for all plugins.
Searching PlatformJson files for differences between project vs. platform instal
led plugins
No differences found between project and android platform. Continuing...
Generating config.xml from defaults for platform "android"
Wrote out Android application name to "HelloCordova"
Wrote out Android package name to "com.gowtham.HelloCordova"
This app does not have launcher icons defined
updated project successfully
Executing "after_prepare"  hook for all plugins.
Executing "before_compile"  hook for all plugins.
ANDROID_HOME=D:\DevTools\Android\Android_SDK_NDK\android-sdk
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45
Downloading http://services.gradle.org/distributions/gradle-2.2.1-all.zip

Exception in thread "main" java.lang.RuntimeException: java.net.ConnectException
: Connection timed out: connect
        at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAcc
essManager.java:78)
        at org.gradle.wrapper.Install.createDist(Install.java:47)
        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
Caused by: java.net.ConnectException: Connection timed out: connect
        at java.net.DualStackPlainSocketImpl.connect0(Native Method)
        at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketI
mpl.java:79)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.ja
va:339)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocket
Impl.java:200)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java
:182)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:579)
        at java.net.Socket.connect(Socket.java:528)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
        at sun.net.www.http.HttpClient.New(HttpClient.java:308)
        at sun.net.www.http.HttpClient.New(HttpClient.java:326)
        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLC
onnection.java:996)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConne
ction.java:932)
        at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection
.java:850)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
nection.java:1300)
        at org.gradle.wrapper.Download.downloadInternal(Download.java:59)
        at org.gradle.wrapper.Download.download(Download.java:45)
        at org.gradle.wrapper.Install$1.call(Install.java:60)
        at org.gradle.wrapper.Install$1.call(Install.java:47)
        at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAcc
essManager.java:65)
        ... 3 more
Error: Error code 1 for command: cmd with args: /s,/c,"E:\Cordova\Workspace\Hell
oCordova\platforms\android\gradlew cdvBuildDebug -b E:\Cordova\Workspace\HelloCo
rdova\platforms\android\build.gradle -Dorg.gradle.daemon=true -Pandroid.useDepre
catedNdk=true"

E:\Cordova\Workspace\HelloCordova>gradle -version

------------------------------------------------------------
Gradle 2.2.1
------------------------------------------------------------

Build time:   2014-11-24 09:45:35 UTC
Build number: none
Revision:     6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a

Groovy:       2.3.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.7.0_45 (Oracle Corporation 24.45-b08)
OS:           Windows 7 6.1 x86

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

GRADLE_HOME = सी: \ ग्रेडले-2.2.1

यहां तक ​​कि वह भी मैं इस मुद्दे को हल करने में सक्षम नहीं हूँ। मैं समझता हूं कि env पथ वैरिएबल को बिल्ड स्क्रिप्ट में स्वीकार नहीं किया गया है, लेकिन मुझे यकीन नहीं है कि इस चरण को बदलने या बाय-पास कहां से होगा।


Answers

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


आपको ~/.gradle/gradle.properties लिए इन पंक्तियों को जोड़कर gradle प्रॉक्सी सेट करने की आवश्यकता है (यदि फ़ाइल मौजूद नहीं है तो फ़ाइल बनाएं):

systemProp.http.proxyHost=myproxy.com
systemProp.http.proxyPort=123
systemProp.https.proxyHost=myproxy.com
systemProp.https.proxyPort=123

बिल्कुल, अपने प्रॉक्सी और बंदरगाह विकल्प।


जैसा कि आप उल्लेख करते हैं, यह नेटवर्क के मुद्दे की तरह दिखता है। यदि आप प्रतिबंधित प्रॉक्सी नेटवर्क का उपयोग कर रहे हैं तो gradle डाउनलोड विफल हो जाएगा। नेटवर्क प्रतिबंधों के मामले में, आप नीचे दिए गए चरणों का पालन करके इस मुद्दे पर काम कर सकते हैं:

1) Download the required gradle version zip file from gradle distribution link and save it in local folder.

2) Navigate to PROJECT_ROOT_FOLDER/platforms/android/cordova/lib/builders folder and edit GradleBuilder.js file

3) Change the line from var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http\\://services.gradle.org/distributions/gradle-2.2.1-all.zip'; to 'var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'file:///local/path/to/folder/where/gradle/zip/is/saved/gradle-2.2.1-all.zip'; and save the file

4) Try rebuilding android build.

आप निम्न को त्वरित सुधार के रूप में भी आज़मा सकते हैं,

1) In command prompt execute the following command: export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=file:///local/path/to/folder/where/gradle/zip/is/saved/gradle-2.2.1-all.zip

2) Execute the following command: cordova run android


मैंने प्रतिक्रियाएं पढ़ी हैं, लेकिन एक परिदृश्य है जहां मैं हमेशा एक ऐरेलिस्टिस्ट पर लिंक्डलिस्ट का उपयोग करता हूं जिसे मैं राय सुनने के लिए साझा करना चाहता हूं:

हर बार जब मेरे पास एक विधि थी जो डीबी से प्राप्त डेटा की एक सूची देता है तो मैं हमेशा एक लिंक्डलिस्ट का उपयोग करता हूं।

मेरा तर्क यह था कि यह जानना असंभव है कि मुझे कितने परिणाम मिल रहे हैं, स्मृति बर्बाद नहीं होगी (जैसे कि ऐरेलिस्ट में क्षमता और वास्तविक तत्वों के बीच अंतर के साथ), और कोई समय बर्बाद नहीं होगा क्षमता डुप्लिकेट करें।

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







java android cordova ant