什么是Android Studio中的gradle同步?

Bru*_*dez 12 proxy android synchronization gradle

它是什么?它做了什么?我正在开发一个拥有代理的企业,但它无法尝试连接到某个地方.为什么需要互联网连接?它使用什么端口?

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

systemProp.http.proxyHost = proxyAddress

systemProp.http.proxyPort = portNumber

systemProp.https.proxyHost = proxyAddress

systemProp.https.proxyPort = portNumber

Cal*_*leb 21

它是什么?它做了什么?

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

dependencies {
     compile '...your dependency...'
}
Run Code Online (Sandbox Code Playgroud)

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

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

我正在开发一个拥有代理的企业,但它无法尝试连接到某个地方.

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

进入:

systemProp.https.proxyHost=<proxy host>
systemProp.https.proxyPort=<your proxy port>
systemProp.https.nonProxyHosts=<your non-proxy host>
systemProp.https.proxyPassword=<your pw>
Run Code Online (Sandbox Code Playgroud)

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

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

全局属性文件位置:〜/ .gradle/gradle.properties (如果有的话,可以使用本地项目文件)

将代理设置添加到此文件:

HTTPS

systemProp.http.proxyHost=<proxy host>
systemProp.http.proxyPort=<your proxy port>
systemProp.http.nonProxyHosts=<your non-proxy host>
systemProp.http.proxyPassword=<your pw>
Run Code Online (Sandbox Code Playgroud)

HTTP

dependencies {
     compile '...your dependency...'
}
Run Code Online (Sandbox Code Playgroud)

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

(有关使用本地罐子的信息,请参阅指南)


ald*_*dok 8

它是什么?

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

  1. dependencies
  2. build

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

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

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

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

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

Gradle 完成同步后,IDE 会启动另一个任务,例如索引。

Gradle: Build...
Gradle: Configure projects...
Indexing...
Run Code Online (Sandbox Code Playgroud)

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

上面已经回答了。

奖励:如何加快同步速度

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

cd myproject
./gradlew app:dependencies module:dependencies
./gradlew build
Run Code Online (Sandbox Code Playgroud)

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