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

 更新时间:2017年10月30日 10:01:22   作者:佐天掀裙手  
本篇文章主要介绍了关于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/

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

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

相关文章

  • 浅谈Android 中图片的三级缓存策略

    浅谈Android 中图片的三级缓存策略

    本篇文章主要介绍了浅谈Android 中图片的三级缓存策略,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Android实现IP地址输入框的方法示例代码

    Android实现IP地址输入框的方法示例代码

    输入框是我们日常开发中经常遇到的一个控件,如果更好的控制输入框是对用户体验很重要的一步,所以下面这篇文章主要给大家介绍了关于Android如何实现IP输入框的相关资料,需要的朋友可以参考下。
    2017-10-10
  • Android开发实现拨打电话与发送信息的方法分析

    Android开发实现拨打电话与发送信息的方法分析

    这篇文章主要介绍了Android开发实现拨打电话与发送信息的方法,结合实例形式分析了Android拨打电话及发送信息相关布局、功能实现及权限控制操作技巧,需要的朋友可以参考下
    2017-12-12
  • Android 应用APP加入聊天功能

    Android 应用APP加入聊天功能

    本文主要给大家介绍的是如何一步步的实现Android应用APP中加入聊天功能,十分的细致全面,有相同需求的小伙伴快来参考下吧。
    2015-03-03
  • Framework源码面试之activity启动流程

    Framework源码面试之activity启动流程

    这篇文章主要为大家介绍了Framework源码面试之activity启动流程实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • OpenHarmony实现屏幕亮度动态调节方法详解

    OpenHarmony实现屏幕亮度动态调节方法详解

    大家在拿到dayu之后,都吐槽说,会经常熄屏,不利于调试,那么有没有一种办法,可以让app不熄屏呢,答案是有的,今天我们就来揭秘一下,如何控制屏幕亮度
    2022-11-11
  • android自定义窗口标题示例分享

    android自定义窗口标题示例分享

    这篇文章主要介绍了android自定义窗口标题示例,需要的朋友可以参考下
    2014-03-03
  • Android studio实现简单计算器的编写

    Android studio实现简单计算器的编写

    这篇文章主要为大家详细介绍了Android studio实现简单计算器的编写,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Android序列化实现接口Serializable与Parcelable详解

    Android序列化实现接口Serializable与Parcelable详解

    我们使用 Intent 传递数据的时候,putExtra() 所支持的数据类型事有限的,当需要传递自定义对象的时候就需要序列化。Serializable更简单但是会把整个对象进行序列化因此效率比Parcelable低一些
    2022-12-12
  • Android4.4新增函数访问外部存储

    Android4.4新增函数访问外部存储

    这篇文章主要介绍了Android4.4新增函数访问外部存储的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-10-10

最新评论