web-dev-qa-db-ja.com

HTTPSの代わりにHTTPを使用するよう強制的にGradle

私はreact-native Androidアプリをビルドしようとしていますが、依存関係としてgradleがありますが、ビルド時にロードできません。エラーメッセージ:

* What went wrong:
A problem occurred configuring root project 'MobileApp'.
> Could not resolve all dependencies for configuration ':classpath'.
   > Could not resolve com.Android.tools.build:gradle:1.3.1.
     Required by:
         :MobileApp:unspecified
      > Could not resolve com.Android.tools.build:gradle:1.3.1.
         > Could not get resource 'https://jcenter.bintray.com/com/Android/tools/build/gradle/1.3.1/gradle-1.3.1.pom'.
            > Could not GET 'https://jcenter.bintray.com/com/Android/tools/build/gradle/1.3.1/gradle-1.3.1.pom'.
               > Connection to https://jcenter.bintray.com refused

問題は明らかです。エラーのようなこれらのHTTPS接続をブロックする企業プロキシの後ろに座っています。だから私の質問は次のとおりです:これらのファイルをロードする際にどのようにグラドルにHTTPを使用させるか?これらのプロパティはどこに配置する必要がありますか(どのgradleファイル、つまりgradle.properties)?

追伸私はすでにこれらをgradleプロパティファイルに設定しています:

systemProp.http.proxyHost= myHost
systemProp.http.proxyPort= myPort
systemProp.http.proxyUser= myUser
systemProp.http.proxyPassword= myPassword

リンク、提案などは大いに役立ちます。

18
Mindaugas

私は同じ問題を抱えてそれを修正しました。

gradleは、httpsプロキシを介してjcenterから依存関係を取得する必要があります。

追加する場合

_maven { url "http://jcenter.bintray.com" }
_

リポジトリでは、jcenter()の代わりに、gradleはこのリポジトリをhttpプロキシを備えた単純なMavenリポジトリと見なします。

プロジェクト_build.gradle_は次のようになります。

_buildscript {
    repositories {
        maven { url "http://jcenter.bintray.com" }
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:1.3.1'
    }
}

allprojects {
    repositories {
        maven { url "http://jcenter.bintray.com" }
    }
}
_
26

build.gradleでjcenter()をjcenter {url " http://jcenter.bintray.com/ "}に置き換えます

10
Sam

これを試して

  • freegateのようなプロキシを実行する

  • cmdタイプのルートパスプロジェクト

    gradlew -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8580

ファイル->設定->プロジェクト設定-> Gradle->グローバルGradle設定-> Gradle VMオプション

-Dhttp.proxyHost=myProxyAddr
-Dhttp.proxyPort=myProxyPort
-Dhttp.proxyUser=myUsername
-Dhttp.proxyPassword=myPasswd 
-Dhttp.auth.ntlm.domain=myDomainName
0
Ahmad Aghazadeh