本文适用于使用VPN无效,AndroidStudio使用Http Proxy镜像代理无效,修改系统Hosts均无效的无法科学上网的劳苦大众。。。
本文适用于使用VPN无效,AndroidStudio使用Http Proxy镜像代理无效,修改系统Hosts均无效的无法科学上网的劳苦大众。。。
本文适用于使用VPN无效,AndroidStudio使用Http Proxy镜像代理无效,修改系统Hosts均无效的无法科学上网的劳苦大众。。。重要的事情说三遍!!

最近在和同学一起做同一项目的时候,在通过git Bash克隆项目后,又出现了以下的问题!我又回想起了一度被gradle支配的恐惧...嘤嘤嘤....
YXB(MF~24WXWHE7}G4T`VD5.png

没错,因为最近的VPN被禁了,我又被墙了,在试过诸如lantern,psiphon3的VPN的失效,Shadowsocks,阿里等镜像代理,Ipv6-hosts等修改系统hosts方法皆失效以后,我选择了修改同学上传到github上的项目文件的gradle插件版本的老办法。之后如果还需要上传到github进行团队合作,可以通过修改回版本号上传。

原理:

由于import别人的项目以后,项目gradle插件版本不同的问题(如果你使用的插件版本较高,有时候可以实现兼容,但是如果插件版本低于别人项目的版本,AS就会下载或者更新插件,而由于被墙,往往下载插件要很久),于是我们可以通过使用本地的gradle插件,来使得别人的项目运行起来,之后要把项目上传到github上面时,可以再改回gradle版本号进行上传。

参考博客:blog.csdn.net/study_abc/article/details/60325835

1.在网上下载好固定版本的gradle插件

各版本gradle插件下载地址:services.gradle.org/distributions

2.配置好Gradle_HOME环境变量

在本地的gradle的目录里查看自己下载好的各gradle插件版本

image.png

配置好系统变量为之前下载好的gradle 变量值为刚才的目录


image.png

在PATH变量中加上%GRADLE_HOME%\bin

image.png

3.修改小伙伴的gradle版本

在这一步骤中,最主要有两步,一是使小伙伴的gradle插件失效,二是使用我们刚才搭建好的本地gradle版本
步骤一:使小伙伴的gradle插件失效
打开从github上clone下来的项目的gradle文件夹下的wrapper中的gradle-wrapper.properties


image.png

修改最后一行代码,使得url无法识别,无法下载项目默认的gradle版本(个人习惯是在https后加123)QAQ

distributionUrl=https\://123services.gradle.org/distributions/gradle-4.1-all.zip

这样,就不会下载默认的gradle插件版本了

步骤二:使用我们刚才搭建好的本地gradle版本
最好先将gradle的版本号改一下,改成我们下载的对应插件版本的gradle版本!


image.png

请注意:这里修改的是gradle的版本号而非gradle插件的版本号,具体的gradle插件版本与gradle版本的关系 请参考geogle开发者网站:
https://developer.android.google.cn/studio/releases/gradle-plugin.html#updating-plugin

打开settings——>Gradle——>use local gradle distribution会自动变成刚才我们设置的GRADLE_HOME系统环境变量的变量值


image.png

Apply,OK,Gradle Sync,Gradle编译成功啦!!!! 5IS}[email protected]_Q2{)O{V5CF}G.png

附:在Gradle Sync后,可能会出现以下的错误!

Gradle DSL method not found: 'XXXX()'

XXX方法可能是geogle()


TA_PMP0D%U8J4`VE8KFEH4X.png

这是高版本的gradle插件才附带的geogle()依赖,当然,也可能会出现以下的'android()'等


image.png

此类方法的解决办法,一律是将外层的gradle的版本库的依赖修改,按照它说的
not found的方法一律删掉
not found的方法一律删掉
not found的方法一律删掉
然后外层的gradle就变成了下面这样子:

// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:2.3.2'//这里写我们gradle的版本,不是插件版本 详情请看3.步骤二 gradle插件与gradle对应版本号        // NOTE: Do not place your application dependencies here; they belong        // in the individual module build.gradle files    }}allprojects {    repositories {        jcenter()    }}task clean(type: Delete) {    delete rootProject.buildDir}

请注意:这里的

allprojects {    repositories {        jcenter()    }}task clean(type: Delete) {    delete rootProject.buildDir}

不能省略 且上下文的buildscript{}与allprojects{}依赖的库要一致!!!

好啦QAQ写了那么久的博客 我要赶快去补作业啦QAQ看我写的那么辛苦,真的不加波关注,给个喜欢么~~(●'◡'●)

更多相关文章

  1. (三) 搭建cocos2d-x-android环境 Windows XP3 + Eclipse + NDKR7
  2. [置顶] 编译自己的Windows Android(安卓)SDK(how to build Andro
  3. 获取当前应用的版本号和当前android系统的版本号
  4. Android(安卓)Studio在创建/导入项目的时候,一直处于building “X
  5. Android(安卓)- R资源未找到至java文件报错
  6. Android直播开源项目
  7. Android(安卓)Studio SVN版本控制
  8. 第一行Android代码(1)
  9. tensorflow 几个android demo源码环境搭建

随机推荐

  1. Android(安卓)编译系统
  2. Android(安卓)目录
  3. Android(安卓)Studio开发指南
  4. android的图片添加、滚动条、单选框、多
  5. 【Android布局】在程序中设置android:gra
  6. Android(安卓)Handler机制10之Native的实
  7. Android(安卓)TextView内容过长加省略号
  8. Android中的签名机制
  9. 2013.03.19——— android 音视频编解码
  10. Android学习笔记(二八):字体