参考如下博客:
Android Studio官方推荐内网离线配置 - usrbin - 博客园
根据该博客介绍和自己实践总结如下:
官方提供的方法:
1. AndroidStudio开启Gradle的离线模式:如果你的带宽小或者不能联网,开启Gradle离线模式防止它在构建的时候下载缺失的依赖库。当开启离线模式时,如果你的项目缺失了某些依赖库,Gradle会抛出一个构建失败的报错,而不是尝试下载它们。按照以下步骤开启离线模式:
单击File > Settings(Mac平台上为Android Studio > Preferences)打开设置对话框。
展开左侧面板的Build, Execution, Deployment选项,并单击Gradle。
在Global Gradle settings下,选中Offline work复选框。
单击Apply或者OK让你的修改生效。
2. 配置离线构建依赖:
如果需要在没有网络的情况下构建项目,使用以下链接下载Google Maven依赖库的离线版本
Download Android Studio and SDK tools  |  Android Developers
在这个网页除了可以下载AndroidStudio,还可以下载 Google Maven dependencies
下载解压Maven依赖离线组件。
当你下载完离线组件的时候,解压到以下目录。如果以下目录不存在,你需要手动去创建它们。
On Windows: %USER_HOME%/.android/manual-offline-m2/
On macOS and Linux: ~/.android/manual-offline-m2/
按照以下步骤更新离线组件(可以不删):
删除manual-offline-m2目录下的内容。
重新下载离线组件。
解压下载的离线组件到manual-offline-m2目录下。
为了让Android构建系统使用你下载的离线组件,你需要创建下面这样一个脚本。记住,你只需要创建一次这个脚本,后续更新离线组件不需要修改它。
在以下目录创建一个空的文本文件:
On Windows: %USER_HOME%/.gradle/init.d/offline.gradle
On macOS and Linux: ~/.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文件中所有在线库。
buildscript {
repositories {
// google()
// jcenter()
}
...
}
allprojects {
repositories {
// google()
// jcenter()
}
...
}
也可以在build.gradle文件中设置,如下:

​
repositories {maven { url 'D://Users/user2/.m2/repository' }
}
​
指定离线库位置(上面的路径自己根据实际情况配置)。
在做自动化编译时,可以使用命令进行编译,如:
gradlew.bat clean --offline
gradlew.bat assembleRelease --offline
这样内网的编译环境就初步搭建完毕了。但是编译的时候依然会有很多依赖文件找不到。这就需要在外网根据编译的提示去下载相关依赖包了。下面介绍下如何下载依赖包:
外网下载依赖包:
依赖包一般是放在maven,google和jcenter仓库的,我们在build.gradle 中配置google(),jcenter(),maven()其实就是让gradle编译时去这几个仓库下载依赖罢了,大部分依赖在maven仓库都能下载到,如果不行就去google或jcenter仓库下载看看。
有时一个依赖包还存在其他的依赖,如果全部去手动下载太过麻烦,可以在外网机器上安装一个maven工具,使用maven工具去下载。
配置可参考:AndroidStudio使用本地Maven库 - 简书
maven工具配置方法如下:

1.下载Maven

首先我们要先下载Maven,下载好之后配置好环境变量,如下:
变量名:MAVEN_HOME
变量值:D:\apache-maven-3.5.2
变量名:Path
变量值:%MAVEN_HOME%\bin;
cmd中输入mvn –v显示Maven home: D:\apache-maven-3.5.2等数值表示配成功

2.配置Maven本地仓

打开conf->setting.xml文件,新建本地Maven仓,修改如下:

<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
--><localRepository>D:\maven_repository\maven-dependcies</localRepository>
设置代理(这步可以不设置):

​
<proxies>
<!-- proxy
| Specification for one proxy, to be used in connecting to the network.
| -->
<proxy>
<id>MyProxy</id>
<active>true</active>
<protocol>http</protocol>
<username>username</username>
<password>password</password>
<host>proxy</host>
<port>8080</port>
<nonProxyHosts>repository.mycom.com|*.google.com</nonProxyHosts>
</proxy>
<proxy>
<id>MyProxy2</id>
<active>true</active>
<protocol>https</protocol>
<username>username</username>
<password>password</password>
<host>proxy</host>
<port>8080</port>
<nonProxyHosts>repository.mycom.com|*.google.com</nonProxyHosts>
</proxy>
</proxies>
​
设置远程Maven库(这步可以不设置):

​
<mirrors>
<mirror>
<id> google</id>
<name>google</name>
<url> https://maven.google.com/</url>
<mirrorOf> central</mirrorOf>
</mirror>
</mirrors>
​
配置完成后。
在D:\maven_repository\maven-dependcies创建文件夹(这个可以调整,只要和maven工具conf->setting.xml中的配置一样即可)
在D:\maven_repository\maven-dependcies文件夹下新建一个pom.xml文件,内容如下:

​
<project xmlns = "http://maven.apache.org/POM/4.0.0"xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.companyname.project-group</groupId><artifactId>project</artifactId><version>1.0</version><dependencies><!-- 复制Maven声明到这里。 --><dependency><groupId>org.jetbrains.trove4j</groupId><artifactId>trove4j</artifactId><version>20160824</version></dependency></dependencies>
</project>
​
如果需要下载某个依赖包,在dependency下配置好,然后在该目录下,执行mvn clean compile命令,就能下载相对定的资源了。
下载的依赖包就在D:\maven_repository\maven-dependcies文件夹下按照org/jetbrains/trove4j/trove4j/20160824的目录保存的。将下载的依赖包拷贝到内网,和从google下载离线依赖包放一起即可。
有些依赖库在maven仓库下载不到怎么办?
那么可以尝试去其他两个库下载。例如:
   <dependency>
            <groupId>com.android.tools.build.jetifier</groupId>
            <artifactId>jetifier-core</artifactId>
            <version>1.0.0-beta04</version>
     </dependency>
这个库在maven仓库就下载不到。这时我们就可以手动去google仓库或者jcenter仓库下载。几个仓库的下载链接头部如下:
mavne:
https://repo.maven.apache.org/maven2
jcenter:
https://jcenter.bintray.com/
google:需要梯子
https://dl.google.com/dl/android/maven2
以上面的库为例,我们可以构造如下的链接,在浏览器去试试看能不能下载pom文件和jar文件:
https://dl.google.com/dl/android/maven2/com/android/tools/build/jetifier/jetifier-core/1.0.0-beta04.pom
https://dl.google.com/dl/android/maven2/com/android/tools/build/jetifier/jetifier-core/1.0.0-beta04.jar
如果下载成功,那么拷贝到内网,放在google依赖包目录,按照com/android/tools/build/jetifier/jetifier-core/1.0.0-beta04层次放置pom和jar文件即可。
注意:有些依赖包只有pom,没有jar,所以,在下载时,pom下载成功了,但是jar没有下载到也没关系,直接把pom文件放在内网相应目录,重新编译再看报什么错。

AndroidStudio内网编译环境搭建相关推荐

  1. 公司内网翻译环境搭建

    1. 打开网易有道词典官网, 下载桌面专业版 2.安装后大概率会提示热键冲突,这个时候可以选择忽略,也可以选择更改热键.点击短三横打开菜单,随后点开设置,在设置里的常规中更改热键. 3.完成第二步后点 ...

  2. 局域网搭建php_PHP 内网开发环境的搭建部署(IP部署、域名部署)

    我们在工作中,往往是多个人团队协同开发,因此我们可以部署内网开发环境.内网开发环境有以下好处: 1.统一的数据库环境,这样在数据库发生结构变化时,其余开发人员无需进行数据库修改 2.可以用来部署内网文 ...

  3. android studio ndk HelloWorld 编译环境搭建

    android studio NDK helloworld 项目 第一步 android studio ndk 编译环境搭建 http://yunpan.cn/c3cCxxgwrqDaL 访问密码 6 ...

  4. Sky37E/D 基于Ubuntu21.04 编译环境搭建

    Sky37E/D 基于Ubuntu21.04 编译环境搭建 0. 下载安装Ubuntu 21.04 官网下载ubuntu21.04镜像(ubuntu-21.04-desktop-amd64.iso) ...

  5. 新唐NUC972 uboot 编译环境搭建

    前言 最近在搭建NUC972的虚拟机编译环境时遇到了一些小问题,通过网络各种搜索关于uboot编译的说明没有太详细的说明,最后各种百度搜索解决了此问题,把具体步实现步骤分享一下. 1. uboot 简 ...

  6. spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ]

    spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ] 一. Gradle下载与安装 软件名称 版本 下载地址 jdk jdk 11.0.5 下载链接 提取码 ...

  7. STM32 gcc编译环境搭建

    STM32 gcc编译环境搭建 标签(空格分隔): stm32 gcc Makefile 说在前面的话 gcc编译器兼容Windows.Linux和MAC,可自行去官网下载,此处提供参考链接:http ...

  8. Android源码编译环境搭建教程 (一) - Ubuntu系统构建

    Android源码编译环境搭建教程 (一) - Ubuntu系统构建 本教程为感兴趣的同学提供Android源码编译的环境搭建,当然这里都是基于windows系统,mac系统也差不多,将相应的软件替换 ...

  9. win10编译OpenCV4Android系列1-Android编译环境搭建

    win10编译OpenCV4Android系列1-Android编译环境搭建 前言 一.配置JDK 1.下载JDK 2.安装JDK 二.配置AndroidSDKTools 1.下载AndroidSDK ...

最新文章

  1. 使用.NET发送邮件
  2. mysql varchar char text
  3. JSP tomcat 更新不生效
  4. #JAVA# 判断从键盘输入的字符串是否为回文
  5. 2019下半年系统集成项目管理工程师下午真题
  6. java并发包下的lock接口与syschronized关键字的区别
  7. git客户端下载地址
  8. 遍历对象键值对的两种方法
  9. 电脑安装不上chrome浏览器
  10. 【Android】CTS测试
  11. 计算机专业实训图片,实训一图片的简单处理_计算机软件及应用_IT计算机_专业资料...
  12. 升级OSX High Sierra 10.13遇到一些问题及解决方法
  13. ORAN专题系列-21:主要的玩家(设备商)以及他们各自的态度、擅长领域
  14. Gitea 1.4 未授权远程代码执行漏洞复现
  15. 软考高级-系统架构师-软件架构设计
  16. 网页重复度检测——shingling算法
  17. 两台pc如何高速度传输大文件
  18. Cadence Allegro如何添加叠层?
  19. xHCI1.1-USB设备的初始化
  20. 中国医科大学2021年12月《临床营养学》作业考核试题

热门文章

  1. Ubuntu16.04安装N卡驱动
  2. 取消java安全警告_如何关闭打开文件安全警告?打开文件安全警告取消四大方法...
  3. 可用软硬件技术来检测与消除计算机病毒,重庆计算机一模级拟试题.doc
  4. PHP 字符串超出长度用省略号,PHP字符串截取长度自定义方法cut_带省略号
  5. Python编程小知识-1-省略号运用
  6. python判断邮箱格式是否正确_【案例】Python - 用正则判断邮箱是否合法
  7. 机械制造行业工作流程
  8. 2019秋招算法岗复盘 | 已收割腾讯、华为等offer
  9. 几种常用的数组遍历方法
  10. 算法设计--八枚硬币问题