最近一家新公司,由于办公环境都是在内网机上,导致在Unity导出android工程后,gradle离线构建也是第一次搞,花了一天时间也踩了一些坑,最后也终于构建成功了,这里记录下,方便大家少走些弯路。

1.准备版本:AndroidStudio3.5.2,Gradle5.1.1,Gradle插件3.4.0

  AndroidStudio下载链接:https://developer.android.com/studio/archive?hl=zh-cn

  Gradle下载链接:https://services.gradle.org/distributions/

  maven依赖基础包下载链接:https://developer.android.com/studio?hl=zh-cn

2.打开Gradle离线模式

  File>Settings>Build>Gradle,勾选Offline Work,指定C:/Users/xxx/.gradle

  Gradle-wrapper.properties,修改distributionUrl=file:///F:/gradle-5.1.1-all.zip

  注意:1.复制的路径可能会有一场,有问题的话,就不要偷懒,手输吧

     2.指定了url的话,settings里的Use Local Gradle distribution 是可以不用勾的。

3.按照官方提供,指定本地maven依赖库

  maven基础包下载完后,放解压到 C:/Users/xxx/.android/manual-offline-m2/,第一次可能都要手动创建目录结构,

  在C:/Users/xxx/.gradle/init.d/ 目录(可能也要手动创建)下,创建名为offline.gradle的空白文件,编辑内容在第一步解压后的列表中有ReadMe自己赋值就行

4.注释默认build.gradle配置

  buildscripts

  {

    repositories{}

    dependencies

    {

      classpath 'com.android.tools.build:gradle:3.4.0'

    }

  }

5.直接复制外网机下载好的缓存

  最好是把之前有过外网环境下载的缓存拷贝到C:/Users/xxx/.android/manual-offline-m2/目录中。

  一般下载缓存地址: C:/Users/xxx/.gradle/caches/modules-2/files-2.1

6.构建异常踩坑补漏

  有可能还会出现一些新的依赖库丢失,这里提供两个可搜索下载的链接

  https://search.maven.org/artifact

  https://mvnrepository.com/artifact (可能会有验证码环节)

  这里我还出现了一个额外的坑,Unable to load class 'com.sun.xml.bind.v2.model.annotation.annotationreader',去查了下,google上也有大佬给出了答案,这里也把解决方案告诉大家,

这个问题原因还是出现在下载的gradle插件3.4.0上面。在 C:/Users/xxx/.android/manual-offline-m2/gmaven-stable/com/android/tools/build/gradle/3.4.0目录下的gradle-3.4.0.pom文件中最底

下添加三个依赖,再次就编译成功了,基本就这些坑吧。

<dependency>

  <groupId>org.jvnet.jaxb2.maven2</groupId>

  <artifactId>maven-jaxb2-plugin</artifactId>

  <version>0.14.0</version>

  <scope>compile</scope>

</dependency>

<dependency>

  <groupId>com.sun.xml.bind</groupId>

  <artifactId>jaxb-impl</artifactId>

  <version>2.2.11</version>

  <scope>compile</scope>

</dependency>

<dependency>

  <groupId>com.sun.xml.bind</groupId>

  <artifactId>jaxb-core</artifactId>

  <version>2.2.11</version>

  <scope>compile</scope>

</dependency>

Gradle AndroidStudio内网离线构建配置踩坑记录的更多相关文章

  1. 在mac版virtual box中安装ubuntu虚拟机的NAT/Host-Only网络配置踩坑记录

    之前用惯了vmware和parallels desktop,网络配置十分智能,基本不用自己配置.由于版权原因,工作电脑上换了免费的virtual box用,四五年都完全在虚拟机里干活的本菜鸡居然在虚拟 ...

  2. XXLJOB2.1.0数据源配置踩坑记录

    最近在看XXLJOB,因为截至到发文时间最新的版本是2.1.0而且需要建立的数据库与Quartz解耦了,所以就用了最新的版本. 首先说一下踩坑过程: 代码开发完成之后,在定时跑的时候第一次跑的多数失败 ...

  3. 记一次 Spring 事务配置踩坑记

    记一次 Spring 事务配置踩坑记 问题描述:(SpringBoot + MyBatisPlus) 业务逻辑伪代码如下.理论上,插入数据 t1 后,xxService.getXxx() 方法的查询条 ...

  4. mybatis-generator:generate 生成代码配置踩坑详解

    mybatis-generator:generate 生成代码配置踩坑不少,在此留下笔记以便后续填坑 一.mysql返回时间问题 错误信息: [ERROR] Failed to execute goa ...

  5. manjaro xfce 18.0 踩坑记录

    manjaro xfce 18.0 踩坑记录 1 简介1.1 Manjaro Linux1.2 开发桌面环境2 自动打开 NumLock3 系统快照3.1 安装timeshift3.2 使用times ...

  6. 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密

    你真的了解字典(Dictionary)吗?   从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...

  7. 复杂业务下向Mysql导入30万条数据代码优化的踩坑记录

    从毕业到现在第一次接触到超过30万条数据导入MySQL的场景(有点low),就是在顺丰公司接入我司EMM产品时需要将AD中的员工数据导入MySQL中,因此楼主负责的模块connector就派上了用场. ...

  8. [技术博客]iview组件样式踩坑记录

    [技术博客]iview组件样式踩坑记录 iview官方文档. 在本次项目开发中,前端项目主要使用vue框架+iview组件构建,其中iview组件在使用过程中遇到了许多官方文档中没有明确说明或是很难注 ...

  9. Spark Ignite踩坑记录

    Ignite spark 踩坑记录 简述 ignite访问数据有两种模式: Thin Jdbc模式: Jdbc 模式和Ignite client模式: shell客户端输出问题,不能输出全列: 针对上 ...

随机推荐

  1. 蓝桥杯-RP大冒险-未解决

    RP大冒险 问题描述 请尽情使用各种各样的函数来测试你的RP吧~~~ 输入格式 一个数N表示测点编号. 输出格式 一个0~9的数. 样例输入 0 样例输出 X {当且仅当输出仅有一个数X且X为0~9的 ...

  2. 浅谈 Tarjan 算法之强连通分量(危

    引子 果然老师们都只看标签拉题... 2020.8.19新初二的题集中出现了一道题目(现已除名),叫做Running In The Sky. OJ上叫绮丽的天空 发现需要处理环,然后通过一些神奇的渠道 ...

  3. Contest 1428

    A 移动次数是 \(\left|x_1-x_2\right|+\left|y_1-y_2\right|\). 如果 \(x_1\not=x_2\) 且 \(y_1\not=y_2\) 说明要换方向,两 ...

  4. Java蓝桥杯练习题——Huffman树

    Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0, p1, -, pn-1},用这列数构造Huffman树的过程如下: 找到{pi}中 ...

  5. Java基础教程——网络基础知识

    参考阅读[中国互联网发展史]:https://zhuanlan.zhihu.com/p/61602252 协议 计算机网络中的通信必须有一些约定,这些约定称为"通信协议". 通信协 ...

  6. 「刷题笔记」Tarjan

    贴一个讲得非常详细的\(tarjan\)入门教程 信息传递 讲个笑话:我之前用并查集求最小环过的这题,然后看见题目上有个\(tarjan\)标签 留下了深刻的印象:\(tarjan\)就是并查集求最小 ...

  7. Beta冲刺——总结

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 团队进行Alpha冲刺 作业正文 正文 其他参考文献 无 团队GitHub地 ...

  8. 冲刺随笔——Day_Five

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 团队进行Alpha冲刺 作业正文 正文 其他参考文献 无 ...

  9. oracle 导入导出表,库

    Exp/Imp是oracle备份数据的两个命令行工具 1.本地数据库导入导出 1.导出 (运行---cmd中操作) exp 用户名/密码@数据库实例名file=本地存放路径 eg: exp jnjp/ ...

  10. 20190713_(转)IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法 (转)

    此文为转载; 原文链接地址: https://www.cnblogs.com/mrma/p/3529859.html ----------------------------------------- ...