Gradlew за прокси - PullRequest
       54

Gradlew за прокси

48 голосов
/ 20 января 2012

У меня есть образец от 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 обертки.Есть идеи?

Ответы [ 16 ]

1 голос
/ 25 ноября 2015

Было обнаружено, что чтение свойств из gradle.properties может быть некорректным. В случае, если в строке есть пробел, Gradle не может найти прокси. проверьте свой прокси-файл и удалите пробелы в конце строки. Можно помочь

0 голосов
/ 21 мая 2018

После долгих попыток с этим и ударившись головой о стену, потому что ничто в моей системе использовало прокси: оказалось, что мой экземпляр ** эмулятора Android ** сам был скрытно / тихоустановив прокси-сервер для меня через Android Emulator> Settings> Proxy и применил эти настройки, играя с ним неделями ранее, чтобы устранить проблему с Expo.

Если у кого-то возникла эта проблема, убедитесь, что вы проверили 100%, чтобы убедиться, что пользовательские настройки прокси-сервера действительно не используются через: ./gradlew installDebug --info --debug --stacktrace и ищите proxyHost в выходных данных журнала, чтобы убедиться в этом.,Это может быть ваш эмулятор.

0 голосов
/ 26 марта 2018

Отрывочный ответ из связанной ветки ниже. Это показывает, как это сделать это более программно. Надеюсь, это поможет

task setHttpProxyFromEnv {
    def map = ['HTTP_PROXY': 'http', 'HTTPS_PROXY': 'https']
    for (e in System.getenv()) {
        def key = e.key.toUpperCase()
        if (key in map) {
            def base = map[key]
            //Get proxyHost,port, username, and password from http system properties 
            // in the format http://username:password@proxyhost:proxyport
            def (val1,val2) = e.value.tokenize( '@' )
            def (val3,val4) = val1.tokenize( '//' )
            def(userName, password) = val4.tokenize(':')
            def url = e.value.toURL()
            //println " - systemProp.${base}.proxy=${url.host}:${url.port}"
            System.setProperty("${base}.proxyHost", url.host.toString())
            System.setProperty("${base}.proxyPort", url.port.toString())
            System.setProperty("${base}.proxyUser", userName.toString())
            System.setProperty("${base}.proxyPassword", password.toString())
        }
    }
}

См. Эту тему для более

0 голосов
/ 08 февраля 2017

Настройка SSl прокси у меня сработала.

systemProp.http.proxyHost=proxy.yourproxysite.com
systemProp.http.proxyPort=8080
systemProp.https.proxyHost=proxy.yourproxysite.com
systemProp.https.proxyPort=8080
0 голосов
/ 06 января 2017

У меня та же проблема с прокси при работе с проектом Cordova.

Чтобы устранить проблему, я создал новый файл gradle.properties в папке android моего проекта Cordova (hello/platforms/android) и добавил код из вашего вопроса

systemProp.http.proxyHost=proxy.yourproxysite.com
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=yourusername
systemProp.http.proxyPassword=password
0 голосов
/ 24 мая 2016
systemProp.http.proxyUser=userId
systemProp.http.proxyPassword=password

то же самое с https ......

...