Maven离线依赖库
AndroidStudio使用Gradle构建项目,但是最近Gradle频繁出现下载依赖失败,各种404/403网络异常,即便使用国内阿里的镜像仓库也无济于事(参考依赖库下载慢的解决办法)。
这几天不知道什么情况,突然project编译不了,gradle一直显示在download,等了很长时间之后最后还是失败。解决问题三件法宝都用上了:重启、卸载重装、清除缓存。不就是网络不能访问吗,重金购了一个“梯子”过“墙”,还是不行,真的玄学了。
1、下载离线依赖包
最后在Google开发者网站上找到了终极操作:提供下载最新版本的Android Gradle插件和Google Maven依赖项以离线构建项目。竟然把构建项目所需依赖全部一次性打包,下载到本地,免去gradle龟速下载过程。

下载地址:Offline components

2、本地配置
①新建目录并解压下载的zip包(如果之前已配置过,删除重新更新)
Windows上:%USER_HOME%/.android/manual-offline-m2/
macOS 和 Linux 上:~/.android/manual-offline-m2/
②创建Gradle脚本文件
Windows 上:%USER_HOME%/.gradle/init.d/offline.gradle
macOS 和 Linux 上:~/.gradle/init.d/offline.gradle
③复制以下内容保存到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()
}
}
}
} ④构建AndroidStudio项目即自动从本地离线依赖库中加载
⑤如果还会从在线依赖库中加载,可以注释屏蔽build.gradle中的google()和jcenter()
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()
}
...
}
参考资料:
配置AndroidStudio
AndroidStudio Offline components
精彩的人生需要浪漫、无畏和勇气。