ANDROID studio离线编译遇到的问题记录

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

自己下载时,需要把distributionUrl地址修改为自己的压缩包地址。具体操作如下 : 1 . 去 services.gradle.org/distributio… 下载自己需要的压缩包。将压缩包下载之后保存起来。位置随意。 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

Android Studio的Gradle离线配置是一种配置方式,可以使Android项目在没有网络连接的情况下执行构建和编译操作。通常情况下,Gradle会通过网络连接下载所需的依赖和插件,但在某些情况下,比如缺乏网络连接或者网络不稳定,这种在线下载就会受到限制。因此,使用离线配置可以解决这个问题。 要进行Gradle离线配置,首先需要在网络连接正常的情况下,在Android Studio中打开需要离线配置的项目。然后,依次点击菜单栏中的"File"->"Settings"->"Build, Execution, Deployment"->"Gradle"。在弹出的对话框中,可以看到"Gradle offline work"选项。勾选该选项后,就可以进行离线配置了。 离线配置后,Gradle会尝试使用本地缓存来解决构建和编译所需的依赖和插件。如果本地缓存中缺少所需的文件,Gradle会抛出一个错误,因为它无法从网络上下载它们。因此,离线配置需要首先在有网络连接的情况下进行配置,并确保所有所需的依赖和插件都已经下载到本地缓存中。 另外,为了使离线配置生效,需要关闭Android Studio中的"Offline Mode"。该选项在工具栏中有一个小蜗牛的图标,可以点击该图标开启或关闭"Offline Mode"。 总的来说,通过Gradle离线配置,可以在没有网络连接的情况下顺利进行Android项目的构建和编译操作。通过合理配置依赖和插件的本地缓存,可以确保项目的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值