expo / turtle

Standalone app builder service
MIT License
385 stars 29 forks source link

sdkmanager.SdkManagerCli is getting hung and geting java.net.ConnectException where there is a proxy #225

Closed gadavell closed 4 years ago

gadavell commented 4 years ago

turtle setup for failing for android when there is a proxy. I have set all the proxy settings. Proxy setting are not getting carried to SdkManagerCli while downloading the SDK. export http_proxy="http://proxy.app.internal.com:80" export https_proxy="http://proxy.app.internal.com:80" export JAVA_OPTS="-Dhttp.proxyHost=http://proxy.app.internal.com -Dhttp.proxyPort=80 -Dhttps.proxyHost=http://proxy.app.internal.com -Dhttps.proxyPort=80"

turtle setup:android May 9 11:23:31 turtle[52014] WARN: Failed to check for turtle-cli update. err: Error: Unable to perform cache refresh for /home/oracle/.cache/expo/turtle-cli-updates.json: TimeoutError: Promise timed out after 2000 milliseconds at Cacher.getAsync (/@expo/xdl@57.8.30/src/tools/FsCache.ts:107:15) at Object.checkAsync (/@expo/xdl@57.8.30/src/tools/ModuleVersion.ts:22:43) at checkForUpdateAsync (/data1/oracle/ace/node/node-v14.2.0-linux-x64/lib/node_modules/turtle-cli/src/bin/index.ts:62:50) at Command. (/data1/oracle/ace/node/node-v14.2.0-linux-x64/lib/node_modules/turtle-cli/src/bin/index.ts:19:7) platform: "android" May 9 11:23:31 turtle[52014] INFO: Downloading Android SDK platform: "android" buildPhase: "setting up environment" downloading [====================] 97% 0.2sMay 9 11:23:38 turtle[52014] INFO: Decompressing Android SDK platform: "android" buildPhase: "setting up environment" May 9 11:23:44 turtle[52014] INFO: Configuring Android SDK, this may take a while platform: "android" buildPhase: "setting up environment" May 9 11:25:52 turtle[52014] INFO: Warning: java.net.ConnectException: Connection timed out (Connection timed out) platform: "android" buildPhase: "setting up environment" source: "stderr"

See the following java process(sdkmanager.SdkManagerCli) is getting hung and geting java.net.ConnectException

/software/app/java/jdk/bin/java -Dcom.android.sdklib.toolsdir=/home/oracle/.turtle/androidDependencies/sdk/tools -Dhttp.proxyHost=proxy.app.internal.com -Dhttp.proxyPort=80 -Dhttps.proxyHost=proxy.app.internal.com -Dhttps.proxyPort=80 -classpath /home/oracle/.turtle/androidDependencies/sdk/tools/lib/dvlib-26.0.0-dev.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/jimfs-1.1.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/jsr305-1.3.9.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/repository-26.0.0-dev.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/j2objc-annotations-1.1.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/layoutlib-api-26.0.0-dev.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/gson-2.3.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/httpcore-4.2.5.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/commons-logging-1.1.1.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/commons-compress-1.12.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/annotations-26.0.0-dev.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/error_prone_annotations-2.0.18.jar: /home/oracle/.turtle/androidDependencies/sdk/tools/lib/animal-sniffer-annotations-1.14.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/httpclient-4.2.6.jar: /home/oracle/.turtle/androidDependencies/sdk/tools/lib/commons-codec-1.6.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/common-26.0.0-dev.jar: /home/oracle/.turtle/androidDependencies/sdk/tools/lib/kxml2-2.3.0.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/httpmime-4.1.jar: /home/oracle/.turtle/androidDependencies/sdk/tools/lib/annotations-12.0.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/sdklib-26.0.0-dev.jar: /home/oracle/.turtle/androidDependencies/sdk/tools/lib/guava-22.0.jar com.android.sdklib.tool.sdkmanager.SdkManagerCli --licenses

If I add the proxy settings arguments to sdkmanager.SdkManagerCli in the file(androidDependencies/sdk/tools/bin/sdkmanager) then that command running successfully. Script .turtle/androidDependencies/sdk/tools/bin/sdkmanager APP_ARGS is not getting passed with proxy. See here /software/app/java/jdk/bin/java -Dcom.android.sdklib.toolsdir=/home/oracle/.turtle/androidDependencies/sdk/tools -Dhttp.proxyHost=proxy.app.internal.com -Dhttp.proxyPort=80 -Dhttps.proxyHost=proxy.app.internal.com -Dhttps.proxyPort=80 -classpath /home/oracle/.turtle/androidDependencies/sdk/tools/lib/dvlib-26.0.0-dev.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/jimfs-1.1.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/jsr305-1.3.9.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/repository-26.0.0-dev.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/j2objc-annotations-1.1.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/layoutlib-api-26.0.0-dev.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/gson-2.3.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/httpcore-4.2.5.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/commons-logging-1.1.1.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/commons-compress-1.12.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/annotations-26.0.0-dev.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/error_prone_annotations-2.0.18.jar: /home/oracle/.turtle/androidDependencies/sdk/tools/lib/animal-sniffer-annotations-1.14.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/httpclient-4.2.6.jar: /home/oracle/.turtle/androidDependencies/sdk/tools/lib/commons-codec-1.6.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/common-26.0.0-dev.jar: /home/oracle/.turtle/androidDependencies/sdk/tools/lib/kxml2-2.3.0.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/httpmime-4.1.jar: /home/oracle/.turtle/androidDependencies/sdk/tools/lib/annotations-12.0.jar:/home/oracle/.turtle/androidDependencies/sdk/tools/lib/sdklib-26.0.0-dev.jar: /home/oracle/.turtle/androidDependencies/sdk/tools/lib/guava-22.0.jar com.android.sdklib.tool.sdkmanager.SdkManagerCli --no_https --proxy=http --proxy_host=proxy.app.internal.com --proxy_port=80 --licenses

dsokal commented 4 years ago

Hi there!

  1. You haven't filled out the issue template. Please do that next time.
  2. Why do you need that proxy? What's your use case? If there is any then it seems really exotic.
  3. Nonetheless, I'm closing the issue as we'll be moving away from turtle-cli soon and we don't want to introduce new features here.