博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ANDROID studio离线编译遇到的问题记录
阅读量:6003 次
发布时间:2019-06-20

本文共 1415 字,大约阅读时间需要 4 分钟。

在开发项目的时候,经常会遇到引用第三方的类库的情况。有时候会把第三方的项目直接拉下来,放到android studio里面阅读。 但是很多时候 android studio 在引入项目的时候会卡在编译的页面,所以很多时候项目没法直接运行,尤其是在网络条件很差的 情况下。 遇到最多的情况是gradle压缩包下载缓慢的问题。所以很多时候,我们使用手动下载gradle压缩包的方式来编译代码。一般情况下 在gradle-wrapper.properties文件中 配置是这样的

自己下载时,需要把distributionUrl地址修改为自己的压缩包地址。具体操作如下 : 1 . 去 下载自己需要的压缩包。将压缩包下载之后保存起来。位置随意。 2. 将distributionUrl地址改为自己本地文件的地址。例如: distributionUrl=file:\/Users/admin/tools/build/gradle-4.4-all.zip 等等。 如果把压缩包是放在 用户主目录/.gradle/wrapper/dists/ 下的时候,distributionUrl可以直接设置为gradle-4.4-all.zip。 3. 将android studio设置为使用本地gradle编译即可。
这里设置的Gradle home是需要指向解压缩之后的文件的。 4. 编译项目即可。 本以为这样就可以了,然而我还是想多了。
在项目目录下执行 ./gradlew clean 命令仍然不成功。 但是可以看到 gradle -4.4-all.zip确实已经解压成功了。这可咋办呢 ?所以考虑原因是不是因为网络环境太差,所以maven库, jcenter()加载的问题。所以走向了漫长的国内镜像的查询之路。然而,你不努力一把,你都不知道什么叫绝望。 很多都是在说阿里云,或者开源中国的国内镜像。然而,并没有什么作用。 所以是在是布置如何是好。于是就顺手执行了下 ./gradlew assemableRelease --offline命令,没想到竟然执行成功了。于是又重新执行 ./gradlew clean 命令,发现仍然不能执行成功,到底问题出现在哪里了呢 ? 本来以为 clean命令不就是删除了项目下的 build的文件么,为什么会执行不成功呢。想来想去,也没找到合适的答案,于是就想着试试 ./gradlew clean --offline 命令,这次命令却成功了。 然后在执行 ./gradlew assembelRelease --offline 如愿的完成了。 但是仍然不明白为什么 ./gradlew clean 的命令不能执行成功。希望朋友们给答疑解惑,不胜感激。

其实 :在实际开发中,很多时候都是直接用到了代理,可以给gradle设置一个代理,这样的话就能很快的进行文件下载。所以直接在 gradle.properties 中设置代理就可以了

当然,如果这种方式设置不成功的话 ,你可以这样设置试试:
设置在同样的位置即可。 (已配置好ShadowSocks的情况下)。 至此,gradlew编译的问题就结束了。 第一次写东西,不知道对不对,这些都只是个人理解,出错的地方请帮忙指出错误,不胜感激。 以上。

转载于:https://juejin.im/post/5c516b3f6fb9a049c0437136

你可能感兴趣的文章
Partition List leetcode
查看>>
Java并发(基础知识)—— 创建、运行以及停止一个线程
查看>>
【转】不懂得使用工具的测试不是好测试
查看>>
JMeter基础之-使用技巧
查看>>
获取post传输参数
查看>>
ASP生成静态页面的方法
查看>>
使用递归从数据库读取数据来动态建立菜单
查看>>
mysql 权限
查看>>
HDU 1325 Is It A Tree? 判断是否为一棵树
查看>>
[原]linux 配置 ssh 等效性
查看>>
51nod 1052 (dp)
查看>>
《ListBox》———设计预览效果
查看>>
我的前端工具集(二)文件上传的封装
查看>>
不要被懒惰夺走你的思考能力
查看>>
Python 序列化
查看>>
AngularJS依赖注入
查看>>
正则的一个坑
查看>>
OpenCV学习之阈值化
查看>>
使用rabbit mq.模拟dubbo,使MQ异步调用代码写起来像是同步方法.
查看>>
Web Storage
查看>>