Gradlew在代理之后
我有一个来自Gaelyk的样本(叫做Bloogie),它使用gradlew。
我在代理人后面。
我读过gradle文档,发现这个:
gradle.properties
systemProp.http.proxyHost=www.somehost.org systemProp.http.proxyPort=8080 systemProp.http.proxyUser=userid systemProp.http.proxyPassword=password
但我不知道如何把这个信息放入包装gradlew。 任何想法?
您只需要创build一个名为gradle.properties
的文件(使用上面提到的属性),并将其放置在您的gradle用户主目录(默认为USER_HOME/.gradle
)或您的项目目录中。
如果在用户主目录或项目目录中find了Gradle(包装器也是),它会自动拾取gradle.properties
文件。
有关更多信息,请阅读Gradle用户指南 ,特别是第12.3节: 通过代理访问Web
如果您需要https访问代理,请考虑定义systemProp.https的同一组属性。
systemProp.https.proxyHost=www.somehost.org systemProp.https.proxyPort=8080
请参阅无法在VPN和代理后面使用crashlytics构buildAndroid应用程序以获取更多信息。
在提示行中使用它:
gradle -Dhttp.proxyHost=*** -Dhttp.proxyPort=*** -Dhttp.proxyUser=**** -Dhttp.proxyPassword=****
在这里工作!
如果通过代理下载封装,请在gradle.properties
文件和gradle/wrapper/gradle-wrapper.properties
文件中添加以下内容
如果要全局设置这些属性,请将其添加到USER_HOME/.gradle/gradle.properties file
## Proxy setup systemProp.proxySet="true" systemProp.http.keepAlive="true" systemProp.http.proxyHost=host systemProp.http.proxyPort=port systemProp.http.proxyUser=username systemProp.http.proxyPassword=password systemProp.http.nonProxyHosts=local.net|some.host.com systemProp.https.keepAlive="true" systemProp.https.proxyHost=host systemProp.https.proxyPort=port systemProp.https.proxyUser=username systemProp.https.proxyPassword=password systemProp.https.nonProxyHosts=local.net|some.host.com ## end of proxy setup
我无法让代理属性工作,直到我设置https代理:
systemProp.https.proxyHost=www.somehost.org systemProp.https.proxyPort=8080
但是,我不得不使用http属性的用户名和密码:
systemProp.http.proxyUser=userid systemProp.http.proxyPassword=password
Gradle Wrapper的这个问题已经用Gradle 1.0-milestone-8修复了。 试一试。
我发现从gradle.properties读取属性可能是不正确的。 如果行包含跟踪空白,gradle找不到代理。 检查你的代理文件,并在行尾删除空格。 可以帮忙
在使用Cordova项目时,我有相同的代理问题。
为了解决这个问题,我在我的Cordova项目( hello/platforms/android
)的android
文件夹下创build了一个新的gradle.properties
文件,并添加了你的问题中的代码
systemProp.http.proxyHost=proxy.yourproxysite.com systemProp.http.proxyPort=8080 systemProp.http.proxyUser=yourusername systemProp.http.proxyPassword=password
设置SSl代理为我工作。
systemProp.http.proxyHost=proxy.yourproxysite.com systemProp.http.proxyPort=8080 systemProp.https.proxyHost=proxy.yourproxysite.com systemProp.https.proxyPort=8080
我有同样的问题,我做的第一件事是创buildgradle.properties。 我没有这样的文件,所以我应该创build它与以下内容:
systemProp.https.proxyHost=proxy systemProp.https.proxyPort=port systemProp.https.nonProxyHosts=domainname|localhost systemProp.https.proxyHost=proxy systemProp.https.proxyPort=port systemProp.https.nonProxyHosts=domainname|localhost
当我添加它们时,gardlew命令正常工作在公司代理之后。 我希望它可以是有用的。
起初,这不适合我。
在我的情况下,我创build了我认为是USER_HOME / .gradle / gradle.properties文件,但结束了一个gradle.properties.txt文件。
在terminal窗口中,ls命令将在.gradle文件夹中显示完整的文件名。
然后mv gradle.properties.txt gradle.properties
systemProp.http.proxyUser=userId systemProp.http.proxyPassword=password
和https一样