【问题标题】:What is gradle sync in Android Studio?Android Studio 中的 gradle 同步是什么?
【发布时间】:2017-09-24 00:06:54
【问题描述】:

这是什么?它有什么作用? 我正在一个有代理的企业工作,但它试图连接到某个地方失败。 为什么需要互联网连接?它使用什么端口?

编辑:用户 Caleb 的回答非常完美。我想补充一点,代理也应该在 gradle.properties 中配置。像这样的:

systemProp.http.proxyHost=*proxyAddress*

systemProp.http.proxyPort=*portNumber*

systemProp.https.proxyHost=*proxyAddress*

systemProp.https.proxyPort=*portNumber*

【问题讨论】:

  • 看看这个链接......它可能会有所帮助link
  • 感谢您的链接,但它没有说明我们为什么需要该互联网连接:(。

标签: android gradle proxy synchronization


【解决方案1】:

这是什么?它有什么作用?

Gradle sync 是一个 gradle 任务,它会查看您的 build.gradle 文件中列出的所有依赖项并尝试下载指定的版本。

dependencies {
     compile '...your dependency...'
}

为什么需要互联网连接?它使用什么端口?

它需要互联网连接,因为它通常从远程位置下载这些依赖项。您可以通过更改 gradle.properties 来定义它使用的端口。 (见下文)

我正在为一家拥有代理的企业工作,但它未能尝试 连接到某个地方。

您的工作代理可能会阻止此操作,您需要添加代理配置来解决您的问题。

进入:

File-->Settings--> Android Studio Preferences --> Appearance & Behavior / System Settings/ HTTP Proxy

并将您的代理配置 url 更新为您的工作代理。 (自动或手动,具体取决于您的设置)。

注意:如果您使用命令行运行 gradle 构建,您可能需要通过 gradle.properties 文件更新代理设置。

全局属性文件位置~/.gradle/gradle.properties (或者使用你的本地项目文件,如果你有的话)

向此文件添加代理设置:

HTTPS

systemProp.https.proxyHost=<proxy host>
systemProp.https.proxyPort=<your proxy port>
systemProp.https.nonProxyHosts=<your non-proxy host>
systemProp.https.proxyPassword=<your pw>

HTTP

systemProp.http.proxyHost=<proxy host>
systemProp.http.proxyPort=<your proxy port>
systemProp.http.nonProxyHosts=<your non-proxy host>
systemProp.http.proxyPassword=<your pw>

如果您绝对无法通过 gradle 获得 Internet 连接,则需要以另一种方式下载依赖项并在您的计算机或本地网络上本地引用它们。

(参见this 使用本地jar 指南)

【讨论】:

  • 我应该把它放在 gradle properties 项目或模块中进行代理配置吗?
  • 我会把它放在项目级别或全局级别。 (~/.gradle/gradle.properties for mac)
  • 我想看它的源代码,但是不知道在哪里。
【解决方案2】:

这是什么?

我相信这是用于这些 Gradle 任务的 IntelliJ/Android Studio 术语:

  1. dependencies
  2. build

Gradle 本身没有“同步”任务。

我使用“相信”这个词,因为 Gradle/IntelliJ/Android Studio 官方文档中没有任何解释?

它有什么作用? 同步是 IDE 准备一切的阶段,包括下载您的依赖项。

同步完成后,用户就可以开始编码了。

当同步失败时,IDE 无法正常工作。用户需要先花时间修复配置。

Gradle 完成同步后,IDE 开始另一个任务,例如索引。

Gradle: Build...
Gradle: Configure projects...
Indexing...

我正在为一家拥有代理的企业工作,但它无法尝试连接到某个地方。为什么它需要互联网连接?它使用什么端口?

上面已经回答了。

奖励:如何加快同步速度

在使用 Android Studio/IntelliJ 打开项目之前,使用终端打开项目并运行 gradle 任务。

cd myproject
./gradlew app:dependencies module:dependencies
./gradlew build

之后,打开项目。现在同步应该快得多(因为您已经在终端中下载了依赖项)。

【讨论】:

    【解决方案3】:

    下载依赖需要网络连接

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-30
      • 2018-04-27
      • 2016-05-18
      • 2021-02-20
      • 2015-03-02
      相关资源
      最近更新 更多