• 前言

在我学习android开发课程的过程中,我们通常只会关注编程语言上面的一些知识点与问题,而忽略了开发工具的使用上的一些遇到的一些知识,其实每一款IDE工具都是集编程语言大成而开发出来的,其中有很多东西是值得我们去学习和了解的,我们可以通过学习了解开发工具的方式来开拓我们的知识储备的广度,使我们的知识面得到更好的扩展,在以后的生活中必然会有所用处.

所以,我将开这篇文章记录下我在使用androidstudio,在学习android过程中所遇到的我认为需要记录下来的知识点,或一些操作.一些问题等相关的知识.


  1. 关于androidstudio在打开项目时gradle配置更新的问题

我们知道gradle是androidstudio中的一个十分重要的组件,它使得我们编辑的程序能够自动的转化为apk程序文件,每次我们运行android程序的时候,我们都可以看到androidstudio下的gradle构建的信息,并且,androidstudio中,gradle的配置也是十分重要的一环,它在很多时候都需要从网络上的远程仓库中获取相应的文件,所以我们也时常会碰见gradle需要更新,gradle正在下载相应文件的情况.

而有些情况下,我们在打开一个项目的时候,会卡在进度条下,又会在有些情况下我们更新gradle文件,完全跑不动,logcat视窗下一堆报错.使得在项目的运行上变得十分缓慢.

我们需要知道的是,这并不是Androidstudio的问题,而是由于在国内,我们想要访问到外网的资源,是十分艰难的,有时可能会直接完全无法访问的情况,所以在很多时候,我们需要使用资源在国内的镜像文件才能解决因网速而带来的问题.

androidstudio中,每个项目都有其gradle文件其储存的位置在对应项目中的gradle文件夹中的wrapper文件下.

我们知道上面的是一个jar包,应该是应用当项目中去的,然后我们随便使用一个代码编辑器打开:

我们可以观察到,这应该是就是当前项目gradle的配置文件了.

其中

distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

应该就是指定的更新下载地址了,我们将前面的\去掉然后访问一下:

我们会发现这就是一个下载链接,它自动为我们下载了对应版本的gradle文件.

那么它自动更新的gradle文件会保存在哪里呢?答案当然是在当前电脑的用户文件里,其实我么在前面关于android签名学习的时候就有点意识的,androidstudio的一些重要的配置文件都存放在当前电脑用户的文件中.而不是和安装目录保存在一起的:

我们找到上面的文件夹,我们就可以发现我们曾经历代使用过的gradle版本.

当我们在gradle自动更新时,因为网络的问题gradle更新缓慢,导致项目无法打开和构建时,我们不妨访问上面的gradle更新连接,自行手动下载gradle版本,然后放入到对应的版本文件下:

  1. 关于Androidstudio导入下载的项目gradle同步解析缓慢的问题

首先,我们要知道在导入他人的项目时,为什么会需要同步解析gradle文件,其实这个应该十分容易理解,每个人开发的项目使用的gradle版本,gradle配置都有不同,而gradle是android开发中自动构建apk项目的工具,那么我们要想运行他人的项目,当然需要同步解析他人项目的gradle版本与配置.

那么接下来我们就要考虑到为什么同步解析会如此缓慢.

这是因为同步解析需要访问当网络资源,而androidstudio中相关的资源存放在jcenter仓库中,而jcenter仓库对国内的使用十分不友好,几乎限制无法访问.所以我们从它那来进行网络同步解析gradle文件,自然会十分缓慢,甚至是无法完成同步.

那么我们的解决办法是什么呢?

我们已经知道了,gradle文件的同步配置是需要访问网络资源的,那么它自然会有一个访问途径的配置,我们只需要了解,并找到它,将其该为gradle资源在国内的镜像仓库路径即可.

镜像文件:其实十分容易理解,就是某个文件的一个复制版本嘛.既然国外资源无法访问,我们就将其镜像复制下来一份放在过国内,不就可以了吗.

  • 配置gradle依赖仓库的路径

我们首先找到当前项目的bulid.gradle文件,我们知道一个android项目有两个gradle文件,一个是项目下的,一个在app下.项目下的bulid.gradle就是配置整个项目gradle文件的依赖仓库以及一些更整个项目相关的gradle配置的文件,我们可以通过编辑器打开查看,当然也可以直接在androidstudio中查看:

我们可以观察到,其repositories(资料库)代码块中就编写有google,jcenter两个方法体,应该是代表了期资料库是从google,jcenter两个地方获取的.

接下来,我们可以找到国内的一些镜像仓库地址,我这里使用的是阿里的镜像仓库地址.

http://maven.aliyun.com/nexus/content/groups/public/

我们通过{}将其配置到gradle文件中:

当然不要忘记点击右上角的同步,同步一下我们的配置.

在同步好配置后,在之后需要访问获取网络资源依赖资源的时候就会首先从我们配置的镜像仓库查找.就不会再变的十分缓慢了.


  1. 如何更改androidstudio使其默认开启不会打开上次编辑的项目

我们知道,在使用androidstudio的时候,每次打开都会从上次编辑的工程开始,有时候这是一个很方便的功能,但有时候或许也会不便,因为我们不免会遇到这样的情况,我们上一个项目刚好已经完成,我这次打开需要选择其他的项目,这就使得我们必须等studio打开上一个项目之后再关闭上一个项目,然后在进入创建与选择项目的界面.

当我们想要关闭这个功能的时候,我们就需要关闭相关的配置了,我们打开studio中的设置视图,选择第一个选项卡打开系统设置(system settings)

我们找到reopen last project on startup(在启动时重新打开上一个项目)选项框,并关闭它.就可以了.

如此,我们再打开studio时打开的就是直接选择的界面了.


更新时间:

2019-4-21

23:51

[工具向]__关于androidstudio工具使用过程中学习到的一些知识点简记的更多相关文章

  1. JavaScript URL传值过程中遇到的问题及知识点总结

    JavaScript URL传值过程中遇到的问题及知识点总结 Web系统开发过程中经常用到URL进行传值,刚刚接触时不太会解析,会出现中文乱码问题等. 1.父子页面之间的传值(在一个页面中以加载ifr ...

  2. Canesten 项目申请ICP备案过程中遇到的问题及知识点扩充

    遇到的问题:Canesten备案主体是Bayer *** Ltd., Shanghai Branch, 而提供的IP是 Bayer (China)limited,违背了电信要求的三一致原则,即备案主体 ...

  3. 【Gerrit】持续集成工具Jenkins的安装配置与使用过程中遇到的问题整理

    1.下载war包 https://jenkins.io/download/ 2.安装 java -jar jenkins.war Error: Feb 21, 2019 2:17:25 AM wins ...

  4. 利用sklearn对MNIST手写数据集开始一个简单的二分类判别器项目(在这个过程中学习关于模型性能的评价指标,如accuracy,precision,recall,混淆矩阵)

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  5. mysql 开发进阶篇系列 37 工具篇 perror (错误代码查看工具)与总结

    一.  perror 错误代码查看工具   在mysql 的使用过程中,可能会出现各种各样的error.这些error有些是由于操作系统引起的,比如文件或者目录不存在等等,使用perror的作用就是解 ...

  6. BI实施过程中的工具与服务

    成功的BI项目,不仅仅是应用了BI工具软件,还要具备完善的BI服务体系,才能称之为真正成功的商业智能bi项目. 现在的BI(商业智能)比起几年前的ERP一样,成为CIO们关注的焦点.在ERP等基础信息 ...

  7. Linux学习笔记(1)Linux虚拟机安装过程中的知识点及常用管理工具

    1. VMware的相关知识 (1)建议的VMware的配置: CPU 主频1GHz以上 内存 1GB以上 硬盘 分区空闲空间8GB以上 (2)VMware创建快照 快照的作用是保存虚拟机的现有状态, ...

  8. 推荐2一个在Java编码过程中得心应手的工具

    推荐2在编码过程中的减小不仅编码的量,挺easy工具上手:可适用Java反思与单探头Assert. 1 Mirror:Java反思 简单介绍 官网:http://projetos.vidageek.n ...

  9. 高可用的Spring FTP上传下载工具类(已解决上传过程常见问题)

    前言 最近在项目中需要和ftp服务器进行交互,在网上找了一下关于ftp上传下载的工具类,大致有两种. 第一种是单例模式的类. 第二种是另外定义一个Service,直接通过Service来实现ftp的上 ...

随机推荐

  1. JAVA递归生成树形菜单

    递归生成一个如图的菜单,编写两个类数据模型Menu.和创建树形的MenuTree.通过以下过程实现: 1.首先从菜单数据中获取所有根节点. 2.为根节点建立次级子树并拼接上. 3.递归为子节点建立次级 ...

  2. 关于WinCC OA

    简介 WinCC OA 的全称是:SIMATIC WinCC Open Architecture,是奥地利ETM公司(ETM professional control GmbH)开发的SCADA软件系 ...

  3. 1.3 正则表达式和Python语言-1.3.5使用 search()在一个字符串中查找模式(搜索与匹配 的对比)

    1.3.5 使用 search()在一个字符串中查找模式(搜索与匹配的对比) 其实,想要搜索的模式出现在一个字符串中间部分的概率,远大于出现在字符串起始部分的概率.这也就是 search()派上用场的 ...

  4. python爬取珞珈1号卫星数据

    首先登录珞珈一号数据系统查询想要的数据 利用浏览器审查元素获取包含下载信息的源码 将最右侧的table相关的网页源码copy到剪切板备用 利用python下载数据 ## utf-8 import re ...

  5. C++第二课:指针常用法[个人见解]

    在小编这里,没有任何学习知识的顺序,写到的东西对初学者肯定是有用处的,前提,你真的把C语言学完的那些初学者. 在讲明指针的知识前,或许有人一直说不会指针你学不会C++,或者说你所学C++的深度,全凭你 ...

  6. 算法第四版中 while (!StdIn.isEmpty()) 循环无法跳出问题

    在IDEA中使用Ctrl+D就可以退出console输入

  7. 关系数据库数据与hadoop数据进行转换的工具 - Sqoop

    Sqoop 本文所使用的Sqoop版本为1.4.6 1.官网 http://sqoop.apache.org 2.作用 A:可以把hadoop数据导入到关系数据库里面(e.g. Hive -> ...

  8. 记一次Dynamic Batching不生效的爬坑实例分析[Unity]

    最近在项目开发过程中,无意发现游戏场景的绘制占用了大量的Batches,几乎一个模型显示就占用了一个Batch,而Saved by batching数量几乎为0,即没有任何合批渲染优化.这显然跟预期相 ...

  9. 使用COOKIE实现登录 VS 使用SESSION实现登录

    注:本文使用的代码基于PHP,其他语言逻辑同理. 一:使用COOKIE实现登录验证 使用cookie实现登录的方式,主要通过一些单向的加密信息进行验证.比如admin用户登录了之后,服务端生成一个co ...

  10. unittest批量执行测试用例

    现有四个测试用例分别在两个.py文件中,如何执行这些文件? unittest中有这样处理:unittest.TestLoader().discover() 第一个文件test_case1.py fro ...