Maven离线依赖库

Quibbler 2020-7-11 1727

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


不忘初心的阿甘
最新回复 (0)
    • AI笔记本-欢迎来到 AI 驱动博客时代 🚀
      2
        登录 注册 QQ
返回
仅供学习交流,切勿用于商业用途。如有错误欢迎指出:fluent0418@gmail.com