详解关于Android Studio中安装和gradle的一些坑

本人从开始用Android Studio到现在已经快一年了吧,在我刚开始用的时候Android Studio还是1.2的版本。当时安装会因为国内墙的缘故,导致下载SDK步骤卡死无法安装。

最近的版本似乎都没出现这个问题,但是还是要吐槽一下最近的2.2.3的更新。这个版本安装包自带的SDK里build tools版本是25.0.2,支持的最低gradle版本是3.3,然而安装包内自带的gradle版本是3.2,所以单纯这个用安装包你并不能建立任何完整的项目,连自带的Helloworld项目都会报错,这在部门最近招新的时候坑了不少小鲜肉。

既然我说明了原因,那解决方法很明显:

(1)下载sdk,下载更早版本的build tools。sdk manager怎么设置镜像什么的我就不多说了,这个随便都能找到

(2)更新gradle。这个东西说实话我也不是很清楚它的内部构造,我只知道它在更新AS和项目合作的时候会导致很多问题。(对,我是被坑出经验的)

所以下面就来讲讲gradle。

首先这个东西主要坑就在于,它不跟SDK一起更新,是属于AS自己的东西。在你的电脑中没有项目指定的gradle版本的话,AS就会默认去下载。由于被墙的原因,下载肯定会异常的缓慢甚至根本不动。如果有可靠的VPN可以为AS设置代理,完美解决墙的问题。但是像我这种学生狗,能省的钱还是会去省,有不用花钱的办法一般不会花钱。所以在不用VPN的情况下,怎么解决呢?

首先,既然gradle版本是项目指定的,那么我们只要修改项目的gradle配置,改成我们有的gradle不就行了?

一般来说,高版本的gradle会兼容低版本的gradle。而使用高版本gradle的项目,改用低版本gradle也不一定会出问题(至少我没遇见过)。在你拿到一个别人的项目,或者自己旧版AS的项目,为了使这个项目的gradle适应新的AS,我们需要修改三个文件,就是下图的三个文件:

1、总项目的build.gradle

如上图所示,注意denpendencies中的第一条,最后gradle:2.3.1(第二条是一个开源的数据库工具类Realm)

这个2.3.1是AS的版本号,旧版AS这一条会是旧版的版本号。

2、app目录下的的build.gradle

这个一般情况下不用修改,但是若出现build tools问题(例如开头所说的2.2.3更新的问题)就要修改这个文件中设置的build tools版本

3、gradle-wrapper.properties

这个文件在项目的gralde/wrapper/目录下,关键是这一句

其中gradle-3.3-all.zip指的就是指定gradle版本3.3,把3.3改成电脑上有的版本就可以了。

至于电脑上到底有哪些版本的gradle,一方面可以对照自己正常使用的项目中的这个文件,另外还可以去AS目录下的gradle文件下查看

如图所示就是3.0到3.4版本的gradle,文件夹中包含的版本应该都可以使用。

然后,如果不想每次拿到项目都要改这些,另一个方法就是,自己去更新gradle,并把gradle放下AS目录下的gradle文件夹中。这样本地拥有指定的gradle,AS就不会去尝试穿墙下载了。

下面贴一个资源网站,拥有很全的安卓开发工具下载资源,上面所说的gradle也可以在这里下载,速度也很快。

http://www.androiddevtools.cn/

好了,暂时就说这么多了,以后再踩到什么坑再说吧。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • AndroidStudio Gradle第三依赖统一管理的实现方法

    AndroidStudio由于使用了gradle的进行项目构建,使我们开发app方便很多,今天我就给大家列出几点是用gradle的方便之处. 一.AndroidStudio Gradle第三依赖统一管理 二.AndroidStudio Gradle基于友盟的多渠道打包 三.AndroidStudio安全管理签名文件keystroe和签名密码 这三篇文章很好的讲解了gradle的在打包和项目依赖管理的优点,大家可以参考一下,来提高自己的开发效率,增强签名文件的安全性. 在很多时候我们使用Andro

  • Android 出现问题 Gradle

    Gradle "xxx" project refresh failed 环境(2014.03.13最新): 问题: Gradle "xxx" project refresh failed 描述: 这是一个很常见的问题, 比如之前可以使用, 新建工作, 或重新启动, 则不可使用, 显示无法构建, Gradle无法使用 解决: 清除缓存, 重启Gradle, File->Invalidate Caches / Restart... ; 即可; Gradle是构建A

  • Android gradle打包并自动上传的方法

    简介 这篇文章主要介绍Android用gradle打包,并且调用python脚本将打包好的apk上传到fir.im供相关人员下载,对于学习gradle 打包和python 几个常用网络库有一定帮助 关键字 :Android Gradle Python fir.im 1 开发前准备 开发前需要下载 AndroidStudio ,gradle(3.3版本),python3.6,Curl,pycurl 准备fir.im账号一个,有账号对应的apitoken,具体fir.im的细节可查看文档fir.im

  • Android Studio手动配置Gradle的方法

    Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置. 面向Java应用为主.当前其支持的语言限于Java.Groovy和Scala,计划未来将支持更多的语言. 下面是一些Gradle的功能 按约定声明构建和建设: 强大的支持多工程的构建: 强大的依赖管理(基于Apache Ivy),提供最大的便利去构建工程: 全力支持已有的 Maven 或者Ivy仓库基础建

  • Android 自定义gradle property详解及实例代码

    Android 自定义gradle property 在Android studio上运行项目,gradle的配置是必不可少的,但是随着项目的逐渐成长,迎面而来的就是.各种依赖包的添加,数不胜数的签名,渠道包等,整个gradle变得很乱,这样其实我们可以将gradle的部分内容分离出来放在另一个自定义gradle内. 如这时我们添加的Plugin 就只要对其赋值就可以了. 步骤: 在总项目根目录下创建 dependencies.gradle文件(名字可以自定义) 根目录下创建的自定义内容如下:

  • AndroidStudio更新出现Refreshing 'xxx' Gradle Project状态解决办法

    前言 开发项目之前,我用的是AndroidStuio2.1.0版本,项目开发完后,按耐不住就更新编译环境了.编译环境更新至AndroidStuio2.2.2. 更新完后,激动的打开AndroidStudio,原来的项目就处于如下状态: 本来以为这是更新后的正常情况,结果一直处于这种状态.然后搜索了一下网上,总结到一个简单方便的解决方法: 第一步: 关闭项目,进入AndroidStudio安装目录下的gradle文件夹中,查看新版本AndroidStudio的gradle版本,如下图: 复制上面的

  • 详解如何使用Android Studio开发Gradle插件

    缘由 首先说明一下为什么会有这篇文章.前段时间,插件化以及热修复的技术很热,Nuwa热修复的工具NuwaGradle,携程动态加载技术DynamicAPK,还有希望做最轻巧的插件化框架的Small.这三个App有一个共同的地方就是大量的使用了Gradle这个强大的构建工具,除了携程的框架外,另外两个都发布了独立的Gradle插件提供自动化构建插件,或者生成热修复的补丁.所以学习一下Gradle插件的编写还是一件十分有意义的事. 插件类型 Gradle的插件一般有这么几种: 一种是直接在项目中的g

  • 详解Androidstudio3.0 关于Gradle报错的问题(小结)

    前言 升级Android Studio to 3.0 canary 1版本后,之前一个正常的Project,一直报错,报错内容如下 Error:Failed to complete Gradle execution. Cause: The version of Gradle you are using (3.3) does not support the forTasks() method on BuildActionExecuter. Support for this is available

  • Android如何在Gradle中更改APK文件名详解

    前言 本文主要给大家介绍了关于Android在Gradle中更改APK文件名的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 默认情况下,Android Studio中的Gradle构建命名为.apk文件app-release.apk.对应用程序build.gradle文件进行了一些小的更改,可以将.apk名称更改为<app name>-release-<version>.apk. 需要在app的目录下面修改build.gradle文件. 第一步是将pro

  • AndroidStudio Gradle基于友盟的多渠道打包方法

    AndroidStudio由于使用了gradle的进行项目构建,使我们开发app方便很多,今天我就给大家列出几点是用gradle的方便之处. 一.AndroidStudio Gradle第三依赖统一管理 二.AndroidStudio Gradle基于友盟的多渠道打包 三.AndroidStudio安全管理签名文件keystroe和签名密码 好久没写博客了,今天写一篇关于多渠道打包的文章. 首先我们要下载友盟的jar包,然后照着文档配置即可.(这里就不过多讲解了,直接看我的代码) 文档地址:ht

  • Android studio利用gradle打jar包并混淆的方法详解

    本文主要介绍了Android studio利用gradle打jar包并混淆的方法,下面话不多说,来看看详细的介绍吧. 首先打jar包的配置很简单,使用jar的task,可以参考gradle官方文档,具体代码如下: task buildJar(type: Jar, dependsOn: ['assembleRelease']) { destinationDir = file('build/outputs/jar/') appendix = "" baseName = "&quo

  • 你该知道的Gradle配置知识总结

    前言 本文主要介绍了关于Gradle配置的相关知识,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 参考链接:https://developer.android.com/studio/build/index.html 本片文章的内容全部参考自上面的链接,其中有些内容是直接翻译的,有些内容是结合自己的经验总结的,可能有理解错误的地方,非常希望大家能指正出来,在交流中进步. Gradle 编译过程 编译流程图 上图展示了一个典型的 App 编译过程,主要分为以几步: 编译器将源代码

  • android studio 3.0 gradle 打包脚本配置详解

    本文介绍了android studio 3.0 gradle 打包脚本配置,分享给大家,具体如下: 修改输出的名字 保存输出的文件路径 def fileArray = [] //遍历输出文件 android.applicationVariants.all { variant -> variant.outputs.all { output -> def outputFile = output.outputFile if (outputFile != null && outputF

  • Android Studio 3.0 gradle提示版本太老

    很多朋友在用Android Studio 3.0 gradle提示一下内容: The android gradle plugin version 3.0.0-alpha1 is too old, please update to the latest version. To override this check from the command line please set the ANDROID_DAILY_OVERRIDE environment variable to "d27b293

随机推荐