【问题标题】:Configuring gradle completely offline完全离线配置 gradle
【发布时间】:2016-07-31 07:25:13
【问题描述】:

所以我有一台工作中的 PC,它无法以任何方式连接到互联网,它应该是用于 android 应用程序的开发 PC,最好使用 gradle。 我使用 IntelliJ IDEA 作为我的 IDE(与 Android Studio 相同),我知道 gradle 可以选择离线工作。
但是,勾选离线框并没有帮助,因为 gradle 没有在本地分发 - 所以我设法安装了最新 gradle 版本的本地分发。
但即使这还不够,因为它无法再次同步,只是这一次它说它不能提供可用于离线模式的缓存版本。

在阅读了有关该主题的一些内容后,我发现解决此问题的最常见方法是让 Gradle 在项目第一次构建时连接到互联网,这样它就会获得所需的依赖项和东西,然后您可以将其切换回离线状态。

问题是:我无法与互联网建立任何连接,即使是很短的时间或某些代理服务器或其他任何东西。

我能否设法完全离线分发 Gradle?

【问题讨论】:

    标签: android android-studio gradle android-gradle-plugin offline-caching


    【解决方案1】:

    您唯一的选择是在另一台可以访问 Internet 的机器上签出项目,解决所有依赖项,以便将它们保存在缓存中 (~/.gradle/caches),然后将缓存目录复制到没有 Internet 访问权限的机器上可以上网。从那时起,Gradle 就拥有了您项目所需的所有依赖项。不要忘记使用 --offline 运行 Gradle。

    或者,您可以将所有必需的 JAR 文件复制到您引用为 flat directory repository 的特定目录。

    【讨论】:

    • 缓存项目是特定的吗?或者一旦它们被下载至少一次就可以在所有项目中使用?
    • Gradle 缓存用于机器上的所有项目。
    • 哦,太好了,谢谢!我会尽快尝试并让大家知道它是否有效。
    【解决方案2】:

    仅按照@BenjaminMuscko 的建议配置缓存并将缓存从在线机器复制到离线机器是不够的。

    操作系统的位匹配并且缓存的文件夹完整路径在两台机器上完全相同也很重要,这意味着必须为相同的用户配置它名字! (至少在窗户上)。

    例如:

    假设我们有一台运行 Windows 的 32 位脱机机器,并且我们的活动用户名为 Test,我们必须在联机机器上拥有完全相同的配置才能使该技术起作用 - 这意味着联机机器应该还运行 Windows 32bit 并拥有名为 Test 的活动用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 2011-03-30
      • 1970-01-01
      • 2013-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多