热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

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

本人从开始用Android Studio到现在已经快一年了吧,在我刚开始用的时候Android Studio还是1.2的版本。当时安装会因为

本人从开始用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/

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

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


推荐阅读
  • POJ1942   DPaths on a Grid
    Imagineyouareattendingyourmathlessonatschool.Onceagain,youareboredbecauseyourteachertellst ... [详细]
  • WebShell代码分析溯源(二)
    WebShell代码分析溯源(二)一、一句话变形马样本 ... [详细]
  • 方舟等级生成工具_关于方舟编译器的几个小疑问
    之前了解了一下方舟编译器,但是很粗,今天在知乎上看了各种大神关于方舟编译器的说法,其实一直以来就有几个问题,我看了知乎上的说 ... [详细]
  • 关于linux下,ls vi等命令失效的解决方法(配置下环境变量出现问题)
    配置完环境变量source之后,linux的lsvi命令均失效,报错如下:解决方法1.输入 exportPATHusrbin:usrsbin:bin:sbin:usrX11R6bi ... [详细]
  • WarensoftUnity3dCommunicationLibthisisahighperformancecommunicationlibraryfor Unity3d,incl ... [详细]
  • 1、emlog简单的http:www.emlog.nettemplate2992、x6cms【推荐】专门做企业cms而且限制没有太多3、druperjoomal国外的,强大 ... [详细]
  • 将android-support-multidex.jar放到libs下然后编译,出现如下错误:Error:Executionfailedfortask':app:pack ... [详细]
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
author-avatar
英俊大郎AAAA
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有