我想离线创建我的 Android 项目。我尝试了多种技术,但没有一个对我有用! 我已经从 developers.android.com 网站下载了离线组件(Android Gradle 插件和 Google Maven 依赖项)用于创建离线项目,但问题是我不知道如何使它们与 android studio 一起工作?
正如这里所说的https://developer.android.com/studio/build/optimize-your-build#offline_mode(Android Studio < 3.6)
如果您的网络连接速度较慢,您的构建时间可能会受到影响 当 Gradle 尝试使用网络资源来解决依赖关系时。 您可以告诉 Gradle 避免使用网络资源,仅使用 它已在本地缓存的工件。
要在使用 Android Studio 构建时离线使用 Gradle,请按照以下步骤操作 如下:
- 单击文件 > 设置(在 Mac 上,Android Studio > 首选项)打开首选项窗口。
- 在左侧窗格中,单击“构建”、“执行”、“部署”>“Gradle”。
- 选中离线工作复选框。
- 单击“应用”或“确定”。
如果您从命令行构建,请传递
选项。
--offline
[编辑]
https://developer.android.com/studio/releases/#3.6-gradle-offline-ui(Android Studio > 3.6)
切换 Gradle 离线模式的新位置要启用或禁用 Gradle 离线模式,请首先从菜单栏中选择“视图”>“工具窗口”>“Gradle”。
然后,在 Gradle 窗口顶部附近,单击 Gradle 面板中的切换离线模式 Gradle 离线按钮..
每当添加依赖项时,都需要下载它。如果是这样,您需要建立连接。
您还可以通过网络连接导入所有依赖项,然后切换到离线模式。
您要查找的说明位于从 Android 开发者网站下载的 zip 文件中的自述文件中。
尽管它位于主下载页面并且看起来是新的且是最新的,但事实并非如此!它的最后一次修改是 2019/05/07,因此包含的最后一个 Android Gradle Plugin Version 是 3.4.0,这是相当旧的...... (今天检查2021/06/27)
本文档介绍了如何使用Android Studio离线下载 Android Gradle 插件和 Google Maven 存储库依赖项。
如果您还没有这样做,下载离线版本 组件来自官方 Android Studio 网站。
下载离线组件后,将其内容解压到 以下目录,如果尚不存在,您可能需要创建:
%USER_HOME%/.android/manual-offline-m2/
。
要更新这些组件,只需重新下载离线组件,解压即可 将它们的内容放入您的
%USER_HOME%/.android/manual-offline-m2/
目录中,
并根据需要替换任何文件。
下载并解压离线组件后,您需要创建一个脚本 告诉 Gradle 使用时包含您下载的离线组件 搜索项目的 Android Gradle 插件和 Google Maven 依赖项。
注意: 此脚本适用于您在工作站上打开的所有 Gradle 项目。
要创建脚本,请按照如下所述进行操作。请记住,您需要 即使在更新离线版本后,也仅创建并保存此脚本一次 组件。
%USER_HOME%/.gradle/init.d/offline.gradle
。def reposDir = new File(System.properties['user.home'], ".android/manual-offline-m2")
def repos = new ArrayList()
reposDir.eachDir {repos.add(it) }
repos.sort()
allprojects {
buildscript {
repositories {
for (repo in repos) {
maven {
name = "injected_offline_${repo.name}"
url = repo.toURI().toURL()
}
}
}
}
repositories {
for (repo in repos) {
maven {
name = "injected_offline_${repo.name}"
url = repo.toURI().toURL()
}
}
}
}
build.gradle
中删除在线存储库
文件,如下图所示。确认项目构建后
正确地没有这些存储库,您可以将它们放回您的
build.gradle
文件。buildscript {
repositories {
// Hide these repositories to test your build against
// the offline components. You can include them again after
// you’ve confirmed that your project builds ‘offline’.
// google()
// jcenter()
}
…
}
allprojects {
repositories {
// google()
// jcenter()
}
...
}
理论上,您可以通过转到“文件”>“设置”>“构建、执行、部署”>“Gradle”并选中“离线工作”来离线工作。不幸的是,您必须在工作的互联网连接上至少同步一次项目,才能为您的项目下载必要的依赖项。