android gradle offline work
离线或者外地办公的神器,只要你编译过的所有jar或者是依赖到本地后,打开这个offlinework,具体位置在file --settings--gradle--offlinework !就可以不需要每次都编译哪些maven库或者公司内部的库了!方便远程工作编译项目
1。 离线模式 offline
所谓离线模式offline,就是gradle在解析依赖的时候采用本地的依赖库(如 GRADLE_USER_HOME指定的路径),而不是依据项目build.gradle文件中设置的仓库地址进行解析。这样就可以很快速的完成解析工作,而不至于花大量时间连接依赖仓库。但是采用这种模式有一个前提:项目所有的依赖都已经存在本地依赖库中。所以,若是项目中有新增或者修改依赖,则不能采用offline模式因为此时本地仓库中可能不存在项目需要的依赖。总之,只要明确本地仓库中已经拥有项目的所有依赖,即可以采用离线模式进行编译项目等操作。
用法:
(1)采用gradle 命令,则直接在命令后加 --offline,如:gradlew build --offlline
(2)若是采用IDE执行gradle,可以在IDE上对gradle 进行设置,如 intellij idea 工具:
选择Offline work 则开启离线模式。 或者是直接在此处开关控制:
例子:假设项目中新增一个依赖:
compile('org.springframework.kafka:spring-kafka:2.0.1.RELEASE')
且本地仓库(通常是GRADLE_USER_HOME指定的路径)中没有该依赖,则当采用离线模式编译时,不管是采用gradle 命令方式: gradle assemble --offline 还是intellij idea 开启离线模式然后执行编译,都没法下载到该依赖。 而只要其中任何一个方式关掉离线模式编译,则能正确下载依赖。如:先执行 gradle assemble,此时会连接项目中配置的远程仓库下载依赖包到本地依赖仓库。 然后intellij idean 依旧采用离线模式进行编译,这时intellij idea中项目也可以正确编译,本地仓库中已经拥有了相关依赖。