时光匆匆流走 ~

  • 设置
  • 1. 署名设置(新建文件时自动添加作者和日期)
  • 2. 模板设置
  • 3. 快捷键设置
  • 4. 设置智能提示(Alt+Enter)
  • 5. 设置代码提示
  • 6. 导出相关Zip File
  • 7. 热更新设置,可能影响APP是否自动启动
  • 功能
  • 1. 查看Gradle版本
  • 2. 查看Sdk存放地址
  • 优化
  • 1. 减少项目编译时间 (资源下载)
  • 2. 减少项目编译时间(离线模式)
  • 问题
  • 1. 万能方式(专治疑难杂症)
  • 2. 模糊搜索(支持大小写搜索)
  • 3. Ctrl+Alt+L 格式化Xml乱序
  • 4. 通过 UTF-8编码Gradle build files
  • 5. 一直不停 updating indices / indexing / Fetching
  • 6. 一直卡在 Download maven-metadata.xml

设置

1. 署名设置(新建文件时自动添加作者和日期)

操作流程:File->Settings->Editor->File and Code Templates->includes->File Header

android热部署代码 android studio 热加载_常见问题

2. 模板设置

操作流程:File->Settings->Editor->Live Templates

  • 添加模板
  • 设置模板信息,包含模板名称、描述、内容、支持语言
  • 模板调用,使用模板名称系统会自动提示不全,如下 ~

3. 快捷键设置

  • 操作流程
    File->Settings->Keymap->Main menu->Code -> Completion -> 设置Basic为你想要自动补代码的快捷键就可以了

图文讲解

  1. File - Settings (Ctrl+Alt+S)

android热部署代码 android studio 热加载_提升build编译速度_02

  1. Keymap (快捷键设置)

android热部署代码 android studio 热加载_常用设置_03

  1. Keymap - Code (这里是代码智能提示的快捷键键设置)

android热部署代码 android studio 热加载_maven_04

4. 设置智能提示(Alt+Enter)

这里的返回提示指的是如 new ArrayList<>(); 通过Alt+Enter提示应自动返回ArrayList list 用于接收
结果:ArrayList list = new ArrayList<>() ;

操作流程:File → Setting → Editor → Intentions 打勾即可

android热部署代码 android studio 热加载_提升build编译速度_05

5. 设置代码提示

这里的提示指的是如 new Arr 的时候As会自动弹出ArrayList<>()等已有API的提示!

  • 操作流程
    File->Settings->Editor->General->Code CompletionCase sensitive completion设置为None就ok了!
  • 图文讲解

1.File - Settings (Ctrl+Alt+S)

android热部署代码 android studio 热加载_提升build编译速度_02

2.设置Code completion 内部属性为None

android热部署代码 android studio 热加载_常见问题_07

6. 导出相关Zip File

步骤:File - Manage IDE Settings - Export to Zip File 此功能是否为导出压缩文件 ?

查询半天没搞清楚这个主要导出内容包含什么?问询朋友之后表示会导出内容包含插件、基本配置,比如字体颜色,大小,风格之类的,不过好像连sdk路径都备份了,不过解释是否正确我就不知道了,因为没用过这个Zip

7. 热更新设置,可能影响APP是否自动启动

Android Studio升级3.5前的Instant Run设置,在3.5后通过File -> Setting -> Build,Execution,Deployment -> Debugger -> HotSwap -> 勾选/取消勾选 Enable hot-swap agent for Groovy code

android热部署代码 android studio 热加载_常见问题_08


功能

1. 查看Gradle版本

操作流程:File - Project Structure...(Ctrl+Alt+Shift+S) - Project

android热部署代码 android studio 热加载_常见问题_09

2. 查看Sdk存放地址

  1. 操作流程 → File - Other Settings - Default Project Structure

android热部署代码 android studio 热加载_常见问题_10

  1. 已获取当前存放sdk的地址咯~

android热部署代码 android studio 热加载_提升build编译速度_11


优化

1. 减少项目编译时间 (资源下载)

项目每次加载时都会下载国外资源,在没有翻Q的情况下,资源下载太慢,我们需要通过阿里镜像实现资源中转

build.gradle(Project)的allprojects 加入以下配置,具体如下

allprojects {
    repositories {
        //---------------------------必备镜像仓库和仓库地址---------------------------------
        maven { url ' https://maven.aliyun.com/repository/jcenter' }
        maven { url ' https://maven.aliyun.com/repository/central' }
        maven { url ' https://maven.aliyun.com/repository/public' }
        maven { url ' https://maven.aliyun.com/repository/google' }
        maven { url ' https://maven.aliyun.com/repository/gradle-plugin' }
        maven { url 'http://maven.aliyun.com/nexus/content/repositories/releases/' }

        google()
        jcenter()
        mavenCentral()
        maven { url "https://jitpack.io" }
        // 无效网址,导致编译卡住,一定要注释掉,可恨可恨(根据场景自行决定是否注释)
        // maven { url 'https://maven.google.com' }
        //---------------------------必备镜像仓库和仓库地址--------------------------------
    }
}

2. 减少项目编译时间(离线模式)

位置在 Settings–》Build、Execution、Deployment–》Compiler下的Command-line Options 填写 --offline

在User/.gradle/ 目下建一个gradle.properties文件 内容如下`

org.gradle.daemon=true

在User/.gradle/ 目下建一个init.gradle文件 内容如下

allprojects{
    repositories {
        def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public'
        def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/repository/jcenter'
        def ALIYUN_GOOGLE_URL = 'https://maven.aliyun.com/repository/google'
        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                    remove repo
                }
                if (url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
                    remove repo
                }
                if (url.startsWith('https://maven.google.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GOOGLE_URL."
                    remove repo
                }
            }
        }
        maven {
            url ALIYUN_REPOSITORY_URL
            url ALIYUN_JCENTER_URL
            url ALIYUN_GOOGLE_URL
        }
    }
}

问题

1. 万能方式(专治疑难杂症)

清除缓存并重启AndroidStudio

  • 操作流程
    File -> invalidate Caches/Restart

2. 模糊搜索(支持大小写搜索)

首先查看是否设置代码提示,如果已经忽略大小写搜索,还无法正常搜索的话,请看错误解析 ~

错误解析

  • 设置方法
    第一步:Ctrl + F 在类内调用,弹出搜索框
    第二步:取消搜索框内的全部状态选取

  • 图文讲解
  • android热部署代码 android studio 热加载_提升build编译速度_12

3. Ctrl+Alt+L 格式化Xml乱序

我是在As从3.2升级到4.1遇到的这个问题,有朋友表示其实4.0就已经存在这个问题了,不过解决起来非常方便 ~

File --> Setting --> Editor --> Code Style --> XML --> 点击右上角蓝色文字 Set from,选中 Android 点击 Apply 即可完美解决。

android热部署代码 android studio 热加载_AndroidStudio_13

4. 通过 UTF-8编码Gradle build files

在build.gradle(app)加入以下设置

compileOptions.encoding = "UTF-8"

如图

android热部署代码 android studio 热加载_maven_14

5. 一直不停 updating indices / indexing / Fetching

注:以下方式可并行操作

错误解析:AndroidStudio在启动时会自动去查找SDK等是否有更新,连接Google的Android开发者网站,在国内的大环境下,经常无法正常连接,因此,可修改配置文件来禁用此功能(As每次启动更新SDK)

建议在正式开始解决此问题前,可先行配置上方提到的 ‘减少项目编译时间’,因为其效果也是为了通过国内镜像下载到国外资源 ~

  • 方式一:找到As的安装目录下的bin\idea.properties文件
  1. 每个人As安装路径不同,重要的是找到此文件
  2. 在idea.properties文件尾部加入以下设置
disable.android.first.run=true
  1. File - Invalidate Caches/Restart 重启Android Studio,主要是为了让配置文件生效 ~
  • 方式二:查看本地是否有多个AndroidStudio版本的文件夹,保留要使用的,删除其余的,但要记得保存自己的操作设置,最好备份一份设置!
    因为这种是一刀切的方式,有用的无用的都会丢失,所以请谨慎操作!

6. 一直卡在 Download maven-metadata.xml

造成这种情况的一般都是下载资源失败,可能是连接外网失败,也可能是资源本身存在问题,所以解决方式 ‘套用上方优化部分的减少项目编译时间(资源下载)’ ~