import小伙伴项目后 关于修改gradle插件版本的问题
本文适用于使用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
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看我写的那么辛苦,真的不加波关注,给个喜欢么~~(●'◡'●)
更多相关文章
- (三) 搭建cocos2d-x-android环境 Windows XP3 + Eclipse + NDKR7
- [置顶] 编译自己的Windows Android(安卓)SDK(how to build Andro
- 获取当前应用的版本号和当前android系统的版本号
- Android(安卓)Studio在创建/导入项目的时候,一直处于building “X
- Android(安卓)- R资源未找到至java文件报错
- Android直播开源项目
- Android(安卓)Studio SVN版本控制
- 第一行Android代码(1)
- tensorflow 几个android demo源码环境搭建