Android Studio开发环境设置汇总
1. 前言
最近在ubuntu18.04环境下开发,需要重新搭建AS的开发环境,记录一下设置的参数和配置,做个笔记,方便查阅。
2. Android Studio配置
官网地址:Android Studio 下载文件归档 | Android 开发者 | Android Developers
这里有AS不同的版本,尽量下载稳定版本, 前几天下载了最新版本的,在导入源码过程中一直出问题,然后卸载后重新安装一个4.1.3低版本。
2.1 配置桌面图标
安装过程比较简单,直接解压后,打开bin目录下的studio.sh文件,启动AS,此时,是没有桌面快捷图标的,接下来第一步配置桌面应用图标
第一步: 打开终端,在root权限下执行
sudo gedit /usr/share/applications/Studio.desktop
第二步: 在 Studio.desktop 文档中配置如下信息
[Desktop Entry]
Type=Application
Name=Android Studio
Exec="配置你的Andriod sudio路径,直到bin目录下/studio.sh" %f
Icon=配置你的Andriod sudio路径,直到bin目录下/studio.png
Categories=Development;IDE;
Terminal=false
StartupNotify=true
StartupWMClass=jetbrains-android-studio
Name[en_GB]=android-studio.desktop
其中 Exec 和 Icon 两个选项,写入自己 Android studio 对应的安装路径,其他选项和对应的内容可直接复制,然后保存退出即可。
第三步: 文件管理器进入/usr/share/applications/目录下 ,可以看到AndroidStudio图标(之前失败就是这里不能看到图标)。
然后给予执行权限,在该目录下打开终端。
输入命令:sudo chmod +x Studio.desktop
第四步:在桌面左下角“显示应用程序”中可以找到AS图标 ,添加到收藏夹中
图标就显示在左侧快捷栏中了,完成。
2.2 优化AS编译速度
新建一个工程,待工程自动初始化编译完成,成功后会自动下载好对应版本的gradle插件
为了以后新建的项目工程编译快一点,我们不使用google下载,我们给AS配置国内的阿里云镜像,加速工程依赖的包的下载
第一步:单个项目配置
首先你需要确认你已经在 Settings -> Appearance&Behavior -> System Settings -> HTTP Proxy 中选中了 No Proxy。
第二步:然后找到项目根目录下的 gradle.properties 文件,打开查看该文件中是否有关于 proxy 设置(代理的地址和端口)的相关语句,删除这些内容。如果没有这些语句,可以跳过此步骤
第三步:同样在 /home/用户名/.gradle/路径下删除 gradle.properties文件中的proxy设置相关的语句,如果没有,可以跳过此步骤
第四步:在工程项目根目录下的build.gradle中添加阿里的镜像,这样虽然说能解决下载依赖包慢的问题,但是每次都这么搞一次也是很浪费时间,修改如下:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
// 改为阿里云的镜像地址
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
maven { url 'https://maven.aliyun.com/repository/public' }
//google()
//jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:4.1.3"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
// 改为阿里云的镜像地址
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
maven { url 'https://maven.aliyun.com/repository/public' }
//google()
//jcenter()
}
}
上面这个方法了对于单个工程有用,这样子每次都要设置一次,肯定不是我们希望了,所以需要全局配置,方法如下:
第五步:在 /home/用户名/.gradle/ 路径下新建一个init.gradle的文件,配置如下内容
allprojects{
repositories {
def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
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
}
}
}
maven {
url ALIYUN_REPOSITORY_URL
url ALIYUN_JCENTER_URL
}
}
}
第六步:设置离线模式编译
设置方法 : Settings--->Build,Execution,Deployment--->Compiler
添加参数:--offline 在不访问网络资源的情况下编译运行。
上面的选项根据电脑性能配置决定是否勾选:并行编译独立模块(可能需要较大的堆大小)
第七步:清理缓存重启(invalidate and restart)验证配置后的编译速度
2.3 优化AS启动速度
第一步: 在使用AS开发安卓应用程序的时候经常会遇到Gradle build running一直在运行甚至卡死的情况,解决方法如下:
在studio安装目录bin文件夹下找到idea.properties文件最后一行加入:
disable.android.first.run=true
第二步:更改studio的VM大小, AS限制了Java虚拟机启动的内存大小,限制了最大堆内存,当AS运行越久,内存越不足的时候,就会频繁的触发GC,AS就自然会卡起来了,严重的直接黑屏,所以,我们把对应的所需内存都配置大一些,32位的系统打开studio.exe.vmoptions文件,如果是64位的话打开studio64.exe.vmoptions,改动以下配置,根据各自配置适当调节。
建议修改值:AS默认配置值 × 4
-Xms512m
-Xmx4096m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=1024m
第三步:开启 gradle 单独的守护进程
当Android Studio 遇到错误的时候,往往会导致 Android Studio 挂掉,为了防止退出程序,则另外开启一个线程来守护 Android Studio 的进程,具体操作。 在 /home/用户名/.gradle 这个目录下,创建 gradle.properties 配置文件,复制以下配置进行优化。
# Project-wide Gradle settings.
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=1024m
-XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
第四步:重启AS 验证修改配置后的启动速度。
2.4 常规配置
1. 设置快捷键的风格,习惯用Eclipse的快捷键,设置如下:
Settings--->KeyMap --->修改为Eclipse
2. 设置代码背景色
颜色在这里向大家推荐豆沙绿,下面是维基百科的介绍:豆沙绿,是指一种类似豆沙的颜色色调。因其颜色观感柔和,故有网友称在电脑上阅读时采用此颜色为背景有利于保护视力(相较于白色等亮度、刺激性较高的颜色)。但此说法并未得到任何科学证实。
豆沙绿的色调为85 饱和度:123 亮度:205
网页颜色 : #C7EDCC
RGB值 : (199, 237, 204)
设置方法如下:
Settings ---> Editor--->Color Scheme --->General--->Default text---> Background
3. 设置字体大小
设置方法如下: Settings ---> Editor--->Font 可以用来设置字体风格,大小 ,字体行间距
4. 设置编码UTF-8
设置方法如下: Setting--->Editor---->File Encoding 进行编码设置统一修改为UTF-8
IDE Encoding:IDE 的编码
Project Encoding:项目的编码
File or Director Encoding:各个文件或者目录的编码
5. 设置顶部Tab页文件排列行数
AS默认不管多少个文件都在顶部显示一行,当然我们也可以并行显示出来,这样子更加方便查看你打开过的文件,设置方法如下:Editor---> General --->Editor Tabs
1. 不勾选 show tabs in one row 选项
2. Tab limit 是设置显示文件的最大个数,可以自己设置
效果如下:
6. 主题设置
设置方法: Settings---> Appearance&Behavior---> Appearance--->Theme
7. 动画显示设置
为节约电脑性能可以禁止掉动画显示, 为了提升效率,可以不勾选Animate windows即可
设置方法: Settings---> Appearance&Behavior---> Appearance--->Animate windows
8. 取消自动检查更新
AS经常每隔一段时间去检测新版本,因为是做系统开发的,对AS新插件和新技术依赖的不多,不需要经常更新升级版本,所以可以去掉自动检查更新。
设置方法:Settings---> Appearance&Behavior---> Appearance--->Updates
可以禁用自动检查更新,减少AS的检查更新内存消耗。
下拉列表为更新通道,主要有4种:
1)Stable Channel : 正式版本通道,只会获取最新的正式版本。
2)Beta Channel : 测试版本通道,只会获取最新的测试版本。
3)Dev Channel : 开发发布通道,只会获取最新的开发版本。
4)Canary Channel : 预览发布通道,只会获取最新的预览版本。
以上4个通道中, Stable Channel 最稳定,问题相对较少, Canary Channel 能获得最新版本,问题相对较多。
9. 显示方法间隔线和显示空格符
这个看个人喜好来设置,设置方法:Settings--->Editor--->General--->Appearance
显示方法间隔线:勾选 Show methods sparators
显示空格符:勾选 Show whitespaces
效果图:
10. 修改java语句合并成一行
格式化代码的时候,会把些很短的语句合并成一行,这样影响代码可读性。
修改方法:Settings--->Editor--->Code Style--->Java
11. 配置AS识别成员变量的m前缀
java编程规范中对变量的命名规则如下:
Non-public, non-static field names start with m.
Static field names start with s.
Other fields start with a lower case letter.
Public static final fields (constants) are
ALL_CAPS_WITH_UNDERSCORES.
翻译过来:
非公有、非静态域的变量以m开头(其实就是protected,default, private成员变量)
静态变量以s开头
其它变量以小写字母开头
Public static final变量(常量)以下划线连接全大写ALL_CAPS_WITH_UNDERSCORES
举个例子:
public class TestClass {
public int publicField; //public 成员变量
private static TestClass sSingleton; //private static 成员变量
int mPackageDefault; //default成员变量
private int mPrivateField; //private 成员变量
protected int mProtectedField; //protected 成员变量
public static final int FIELD_CONSTANT = 15; //常量
}
知道如上规则后,按照上述规则在测试类中定义成员变量,并创建Setter 和 Getter方法
public class me {
public char c;
private int mAge;
protected String mName;
private static int sLonger = 5;
public char getC() {
return c;
}
public void setC(char c) {
this.c = c;
}
public int getmAge() {
return mAge;
}
public void setmAge(int mAge) {
this.mAge = mAge;
}
public String getmName() {
return mName;
}
public void setmName(String mName) {
this.mName = mName;
}
public static int getsLonger() {
return sLonger;
}
public static void setsLonger(int sLonger) {
me.sLonger = sLonger;
}
}
有没有发现:Getter and Setter 方法多了一个 m 或s 如:
getmAge() setmName() getsLonger() 这一看就觉的很别扭,显然不符合java方法的命名规范
有没有办法让Android Studio 能自动识别出前缀呢?当然,设置方法如下:
Settings--->Editor--->Code Style--->Java--->Code Generation
选择Fields行,添加m作为fields的前缀,然后添加s作为Static Fields的前缀
设置完成后,我们在重新对上面的4个变量 生成Getter 和 Setter 方法
public class me {
public char c;
private int mAge;
protected String mName;
private static int sLonger = 5;
public char getC() {
return c;
}
public void setC(char c) {
this.c = c;
}
public int getAge() {
return mAge;
}
public void setAge(int age) {
mAge = age;
}
public String getName() {
return mName;
}
public void setName(String name) {
mName = name;
}
public static int getLonger() {
return sLonger;
}
public static void setLonger(int longer) {
sLonger = longer;
}
}
好了,一看就符合编程语言规范,设置完毕.
11. 类模板注释
每次建新类的时候,在文件头都会自动加入一些文件说明信息。
设置方法: Settings--->Editor--->File and Code Templates--->Includes--->File Header
编写如下模板:
/**
* @ProjectName: ${PROJECT_NAME}
* @PackageName: ${PACKAGE_NAME}
* @Description: java类作用描述
* @Author: 作者名
* @CreateDate: ${DATE} ${TIME}
* @Version: 1.0
*/
当你新建一个类,会自动填充类的相关信息,效果图如下:
12. 自定义添加注释模板
Android Studio可以添加文档注释模板,当我们在想写注释的地方通过快捷键便捷地生成文档注释
设置方法: Settings--->Editor--->Live Template
这是我自定义设置成功后的最终效果图:
实现步骤如下:
第一步: 点击 右侧 + 号,选择Template Group, 在对话框中输入自定义名称:MyChanged
第二步: 先选中MyChanged, 然后在点击右侧 + 号, 选择 Live Template ,如下图:
Abbreviation:图标注1 注释模板的缩写 ,就是你生成注释模板的快捷键 我写成cq 表示class quick 注释
Description: 图标注2 注释模板的简短描述
Template text: 图标注3 模板的内容,这个是自定义的格式
/**
* author : me
* date : $date$ $time$
* desc : 类描述模板,可以自定义格式
* version: 1.0
*/
/**
* @description: 方法描述模板,可以自定义格式
* @date: $date$ $time$
* @author: me
* @param:
* @return:
*/
Change: 图标注4 表示注释模板生效的地方, 弹出对话框,选择 Java ----Declaration
其实到这里一步,注释模板就已经设置ok了,快捷键功能也可以生效了.
第三步: 当然你也可以对Template text的变量: 定义默认值 或者 通过Express来赋值:
这样在代码中使用该模板生成注释时会自动用表达式的值替换变量。
第四步: 在java类中, 输入 cq mq 快捷键就可以自动填充注释内容
3. 总结
上述AS配置是基于4.1.3版本的, 在不同的版本上面会存在差别,也是把平时优化AS的细节列举出来, 供参考,希望你的AS运行也一如既往的丝滑.
相关文章
- CQRS实践(2): Command的实现
- C# 温故而知新:Stream篇(二)
- C# 温故而知新:Stream篇(—)
- 技术文章如何写作才能有较好的阅读体验
- SQL Server 2012新增的内置函数尝试
- 逃脱Asp.Net MVC框架/枷锁,使用Razor视图引擎
- 放过设计模式吧
- SQL Server中的Merge关键字
- 重温大师经典:Martin Fowler的持续集成
- .Net Framework SDK下的命令汇总
- 对缓存的思考——提高命中率
- HTTP协议详解
- Fiddler 教程
- 细说 HttpHandler 的映射过程
- 使用 Task 简化异步编程
- C#综合揭秘——细说事务
- 细说 ASP.NET Cache 及其高级用法
- 大叔手记(16):分析URL Routing和URL Rewriting两者之间的不同
- 【轻松学排序算法】眼睛直观感受几种常用排序算法
- 理解SQL SERVER中的逻辑读,预读和物理读