使 react-native run-android 命令在编译项目时不下载文件

Posted

技术标签:

【中文标题】使 react-native run-android 命令在编译项目时不下载文件【英文标题】:Make react-native run-android command to not download files when compile project 【发布时间】:2018-08-15 23:58:31 【问题描述】:

我试图在 Linux 平台上为 android 编译一个 react-native 应用程序。

但是当我运行命令“react-native run-android”时,出现以下错误

扫描 /opt/react/App5/node_modules 中的符号链接文件夹(8 毫秒) JS 服务器已经在运行。 在设备上构建和安装应用程序(cd android && ./gradlew installDebug)... 下载 https://services.gradle.org/distributions/gradle-2.14.1-all.zip 线程“主”java.net.ConnectException 中的异常:连接超时(连接超时) 在 java.net.PlainSocketImpl.socketConnect(本机方法) 在 java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 在 java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 在 java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 在 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 在 java.net.Socket.connect(Socket.java:589) 在 sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:673) 在 sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173) 在 sun.net.NetworkClient.doConnect(NetworkClient.java:180) 在 sun.net.www.http.HttpClient.openServer(HttpClient.java:463) 在 sun.net.www.http.HttpClient.openServer(HttpClient.java:558) 在 sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:264) 在 sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) 在 sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) 在 sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156) 在 sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050) 在 sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) 在 sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564) 在 sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) 在 sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263) 在 org.gradle.wrapper.Download.downloadInternal(Download.java:58) 在 org.gradle.wrapper.Download.download(Download.java:44) 在 org.gradle.wrapper.Install$1.call(Install.java:59) 在 org.gradle.wrapper.Install$1.call(Install.java:46) 在 org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65) 在 org.gradle.wrapper.Install.createDist(Install.java:46) 在 org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:126) 在 org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)

我的代理服务器不允许我下载文件 https://services.gradle.org/distributions/gradle-2.14.1-all.zip,

我使用另一台计算机下载文件。是否可以设置“react-native run-android”命令不下载文件?

【问题讨论】:

【参考方案1】:

我找到了解决问题的方法:

我在文件夹“gradle/wrapper”中找到文件 gradle-wrapper.properties 并将distributionUrl的内容更改为

distributionUrl=file:/tmp/gradle-2.14.1-all.zip

现在可以了,不需要再下载文件了。

【讨论】:

以上是关于使 react-native run-android 命令在编译项目时不下载文件的主要内容,如果未能解决你的问题,请参考以下文章

React-Native ScrollView 使 TextInput 消失

使 react-native run-android 命令在编译项目时不下载文件

如何在 react-native 中使文本的某些部分可点击并且某些部分具有不同的文本颜色

React-Native AsyncStorage

React-Native:按下 android 硬件后退按钮返回

React-Native:避免文本换行