Android Gradle can';t通过公司代理连接到maven repo-需要通过Sencha/Cordova进行配置

Android Gradle can';t通过公司代理连接到maven repo-需要通过Sencha/Cordova进行配置,android,cordova,maven,extjs,gradle,Android,Cordova,Maven,Extjs,Gradle,我正在尝试使用Cordova为android构建Sencha Touch应用程序。但是,在gradle构建启动后,我在尝试连接到maven repo时出现连接错误: [INF] [shellscript] Running: C:\xxx\gradlew cdvBuildDebug -b C:\xxx\application\cordova\platforms\android\build.gradle -Dorg.gradle.daemon=true [INF] [shellscript] [IN

我正在尝试使用Cordova为android构建Sencha Touch应用程序。但是,在gradle构建启动后,我在尝试连接到maven repo时出现连接错误:

[INF] [shellscript] Running: C:\xxx\gradlew cdvBuildDebug -b C:\xxx\application\cordova\platforms\android\build.gradle -Dorg.gradle.daemon=true
[INF] [shellscript]
[INF] [shellscript] FAILURE: Build failed with an exception.
[INF] [shellscript]
[INF] [shellscript] * What went wrong:
[INF] [shellscript] A problem occurred configuring root project '''android'''.
[INF] [shellscript] > Could not resolve all dependencies for configuration ''':classpath'''.
[INF] [shellscript]    > Could not resolve com.android.tools.build:gradle:1.0.0+.
[INF] [shellscript]      Required by:
[INF] [shellscript]          :android:unspecified
[INF] [shellscript]       > Failed to list versions for com.android.tools.build:gradle.
[INF] [shellscript]          > Unable to load Maven meta-data from https://repo1
.maven.org/maven2/com/android/tools/build/gradle/maven-metadata.xml.
[INF] [shellscript]             > Could not GET '''https://repo1.maven.org/maven
2/com/android/tools/build/gradle/maven-metadata.xml'''.
[INF] [shellscript]                > Connection to https://repo1.maven.org refused
我想这与我必须在办公室通过的公司代理有关——但是我不确定如何配置Gradle通过这个代理进行连接,因为它是由Cordova执行的,而Cordova本身就是由Sencha Cmd执行的


有没有办法用Sencha配置代理?

您需要配置Gradlew以使用代理服务器。这是通过创建一个包含以下内容的gradle.properties文件来完成的:

systemProp.http.proxyHost=www.somehost.org
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost  

systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=userid
systemProp.https.proxyPassword=password
systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost
这是一个例子。确保在文件中同时包含HTTP和HTTPS值

您将把这个gradle.properties文件放在以下位置之一:

  • 在移动项目的“cordova/platform/android”文件夹中
  • 在Gradle主文件夹中。对于Windows,这可能是%USERPROFILE%\.gradle\(例如:C:\Users\username\.gradle\) 我建议将它放在GradleHome中,这样其他项目就可以使用它,而不必担心将它置于源代码控制之下


    您还可以在中找到更多信息

    我也有同样的错误,但那是在我安装git之后,git反过来改变了我的环境变量。我回到那里删除了添加的路径,它起了作用

    在答案中包含一些代码(这里是示例)总是很有帮助的。准备好编辑您的答案以包含其中一个或两个吗?谢谢!我知道那个文件,但我认为它是由Cordova生成的,并且在每次构建时都会被覆盖。@bardzusny-感谢您的编辑。我现在明白你的意思了。(这是我的第一个答案)。此外,如果您需要完全取消设置这些设置(在非代理网络中),您必须填写gradle.prop这样的属性:systemProp.http.proxyHost=systemProp.http.proxyPort=我花了30分钟才弄明白gradle不能从http_proxy环境变量中提取这些设置吗?