【问题标题】:Way to stop Android Studio Gradle build from using internet data [duplicate]阻止Android Studio Gradle构建使用互联网数据的方法[重复]
【发布时间】:2020-10-16 17:46:18
【问题描述】:

我是 Android Studio 和 Flutter 的新手。我今天才开始。当我构建一个演示颤振应用程序并运行它时。 Gradle 开始下载很多东西。我不知道它是否在每次运行时都会发生,对于一次完全的项目一次。但问题是我没有无限的互联网。我的服务提供商每天提供 1.5GB 数据。所以我想问一下在运行应用程序和构建 gradle 时需要多少数据?还有这种情况发生的频率如何?有没有办法停止使用在线 SDK 和 Gradle Builds 并且每次都使用离线一个..?

PS:我使用的是 Android Studio 4

我构建第一个应用时的终端输出..

Launching lib\main.dart on Redmi Note 7 Pro in debug mode...
Running Gradle task 'assembleDebug'...
Checking the license for package Android SDK Build-Tools 28.0.3 in C:\Users\jay76\AppData\Local\Android\sdk\licenses
License for package Android SDK Build-Tools 28.0.3 accepted.
Preparing "Install Android SDK Build-Tools 28.0.3 (revision: 28.0.3)".
"Install Android SDK Build-Tools 28.0.3 (revision: 28.0.3)" ready.
Installing Android SDK Build-Tools 28.0.3 in C:\Users\jay76\AppData\Local\Android\sdk\build-tools\28.0.3
"Install Android SDK Build-Tools 28.0.3 (revision: 28.0.3)" complete.
"Install Android SDK Build-Tools 28.0.3 (revision: 28.0.3)" finished.
Checking the license for package Android SDK Platform 28 in C:\Users\jay76\AppData\Local\Android\sdk\licenses
License for package Android SDK Platform 28 accepted.
Preparing "Install Android SDK Platform 28 (revision: 6)".
"Install Android SDK Platform 28 (revision: 6)" ready.
Installing Android SDK Platform 28 in C:\Users\jay76\AppData\Local\Android\sdk\platforms\android-28
"Install Android SDK Platform 28 (revision: 6)" complete.
"Install Android SDK Platform 28 (revision: 6)" finished.

【问题讨论】:

  • @YuriyMysochenko 不,因为我的 Android Studio 4 的设置中缺少Offline Work 选项,而答案显示在 Android Studio 3 的设置中。
  • @thisisjaymehta 那么您应该使用标有“Android Studio(v. 3.6.1 及更高版本)”的版本,因为这将包括您的版本(我已确认该选项存在于 4.1 中)跨度>
  • @RyanM 我找不到它。你能告诉我确切的路径吗?

标签: android android-studio flutter gradle


【解决方案1】:

Gradle 只会下载项目成功构建所需的依赖项。 如build.gradle文件中指定的SDK工具和其他应用依赖。

一旦下载,它会下载更多东西的唯一其他时间是,如果您将其他依赖项添加到 build.gradle 文件中,那么离线使用 gradle 不是一个好主意,就好像它需要下载一个依赖项和你一样没有连接,您的构建将失败。

就个人而言,我可以自信地说 gradle 在第一次构建后的后续构建中不能使用超过 20mbs 的数据

【讨论】:

  • 创建新项目后,它将使用从上一个项目下载的依赖项。还是会再次下载相同的内容?
  • 它将使用 lastbuild 中的依赖项 yes 。此外,如果您初始化另一个在名称和版本方面需要相同依赖项的项目。它也不会重新下载它们
  • 知道了。感谢您的帮助!
【解决方案2】:

在您创建项目后,如果这些依赖项在本地不可用(可能是您升级到另一个版本的依赖项),gradle 将首次下载所有必需的依赖项。

此外,当您将新的依赖项添加到依赖项树时,gradle 只会获取依赖项,因此它可以很好地避免重新下载工件。

如果您仍希望在离线模式下使用 gradle,有几种方法可以做到 -

您可以将 --offline 传递给 Gradle 以防止在构建期间访问网络。

gradle --offline build

如果构建需要来自 Internet 的内容并且未在本地缓存,您的构建将失败。

另一种方法是您可以将 gradle 配置为从 gradle 窗口脱机运行 -

希望这会有所帮助!

【讨论】:

    【解决方案3】:

    不建议关闭互联网数据,因为 Gradle 可能会抛出插件过期错误,在这种情况下,您必须上网获取最新更新。

    【讨论】:

      猜你喜欢
      • 2017-08-22
      • 1970-01-01
      • 2016-04-04
      • 1970-01-01
      • 1970-01-01
      • 2020-12-05
      • 2018-05-24
      • 2017-02-14
      • 2016-05-29
      相关资源
      最近更新 更多