热门标签 | 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/

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

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


推荐阅读
  • 本文介绍了通过ADB命令查询Android设备CPU的当前频率、最小频率和最大频率的方法。 ... [详细]
  • 在Android中实现黑客帝国风格的数字雨效果
    本文将详细介绍如何在Android平台上利用自定义View实现类似《黑客帝国》中的数字雨效果。通过实例代码,我们将探讨如何设置文字颜色、大小,以及如何控制数字下落的速度和间隔。 ... [详细]
  • 本文探讨了使用普通生成函数和指数生成函数解决组合与排列问题的方法,特别是在处理特定路径计数问题时的应用。文章通过详细分析和代码实现,展示了如何高效地计算在给定条件下不相邻相同元素的排列数量。 ... [详细]
  • 在Notepad++中配置Markdown语法高亮及实时预览功能
    本文详细介绍了如何在Notepad++中配置Markdown语法高亮和实时预览功能,包括必要的插件安装和设置步骤。 ... [详细]
  • 本文提供了一种有效的方法来解决当Android Studio因电脑意外重启而导致的所有import语句出现错误的问题。通过清除缓存和重建项目结构,可以快速恢复开发环境。 ... [详细]
  • 探讨如何在映射文件中处理重复的属性字段,以避免数据操作时出现错误。 ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
  • 网络流24题——试题库问题
    题目描述:假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算 ... [详细]
  • Android 中的布局方式之线性布局
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 利用无代码平台实现高效业务应用开发
    随着市场环境的变化加速,全球企业都在探索更为敏捷的应用开发模式,以便快速响应新兴的商业机遇。然而,传统的软件开发方式不仅成本高昂,而且耗时较长,这往往导致IT与业务部门之间的合作障碍,进而影响项目的成功。本文将探讨如何通过无代码开发平台解决这些问题。 ... [详细]
  • 在Android应用开发过程中,开发者经常遇到诸如CPU使用率过高、内存泄漏等问题。本文将介绍几种常用的命令及其应用场景,帮助开发者有效定位并解决问题。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ... [详细]
  • 处理Android EditText中数字输入与parseInt方法
    本文探讨了如何在Android应用中从EditText组件安全地获取并解析用户输入的数字,特别是用于设置端口号的情况。通过示例代码和异常处理策略,展示了有效的方法来避免因非法输入导致的应用崩溃。 ... [详细]
  • 本文探讨了程序员这一职业的本质,认为他们是专注于问题解决的专业人士。文章深入分析了他们的日常工作状态、个人品质以及面对挑战时的态度,强调了编程不仅是一项技术活动,更是个人成长和精神修炼的过程。 ... [详细]
author-avatar
Ale__x小葡萄
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有