赞
踩
最近在ubuntu18.04环境下开发,需要重新搭建AS的开发环境,记录一下设置的参数和配置,做个笔记,方便查阅。
官网地址:Android Studio 下载文件归档 | Android 开发者 | Android Developers
这里有AS不同的版本,尽量下载稳定版本, 前几天下载了最新版本的,在导入源码过程中一直出问题,然后卸载后重新安装一个4.1.3低版本。
安装过程比较简单,直接解压后,打开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图标 ,添加到收藏夹中
图标就显示在左侧快捷栏中了,完成。
新建一个工程,待工程自动初始化编译完成,成功后会自动下载好对应版本的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()
- }
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
上面这个方法了对于单个工程有用,这样子每次都要设置一次,肯定不是我们希望了,所以需要全局配置,方法如下:
第五步:在 /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
- }
- }
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
第六步:设置离线模式编译
设置方法 : Settings--->Build,Execution,Deployment--->Compiler
添加参数:--offline 在不访问网络资源的情况下编译运行。
上面的选项根据电脑性能配置决定是否勾选:并行编译独立模块(可能需要较大的堆大小)
第七步:清理缓存重启(invalidate and restart)验证配置后的编译速度
第一步: 在使用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 验证修改配置后的启动速度。
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;
- }
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
有没有发现: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;
- }
-
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
好了,一看就符合编程语言规范,设置完毕.
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 快捷键就可以自动填充注释内容
上述AS配置是基于4.1.3版本的, 在不同的版本上面会存在差别,也是把平时优化AS的细节列举出来, 供参考,希望你的AS运行也一如既往的丝滑.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。