Andorid Studio使用技巧

本文详细介绍了Android Studio的各种使用技巧,包括代码错误处理、项目切换、查看SDK和JDK路径、删除Module的方法、Eclipse项目移植、快速编程、Live Templates、代码自动完成、Instant Run的使用与问题解决、性能分析、Open Module Settings的配置、Java 8支持、Lint工具的运用、代码编辑窗口显示行号、离线Sync项目以及SDK下载更新的代理设置等。通过这些技巧,可以提高Android开发效率和代码质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

No proxy地址:
SDK Update Sites
镜像地址:参见http://tools.android-studio.org/index.php/proxy/、http://www.oschina.net/news/38492/mirrors-tsinghua-will-close
Android SDK 在线更新镜像服务器资源:
大连东软信息学院镜像服务器地址:
http://mirrors.neusoft.edu.cn 端口:80
北京化工大学镜像服务器地址:
IPv4: http://ubuntu.buct.edu.cn/ 端口:80
IPv4: http://ubuntu.buct.cn/ 端口:80
IPv6: http://ubuntu.buct6.edu.cn/ 端口:80
上海GDG镜像服务器地址:
http://sdk.gdgshanghai.com 端口:8000
中国科学院开源协会镜像站地址:
IPV4/IPV6: http://mirrors.opencas.cn 端口:80
IPV4/IPV6: http://mirrors.opencas.org 端口:80
IPV4/IPV6: http://mirrors.opencas.ac.cn 端口:80
腾讯Bugly 镜像:
http://android-mirror.bugly.qq.com 端口:8080
腾讯镜像使用方法: http://android-mirror.bugly.qq.com:8080/include/usage.html

前言

该文以Android Studio2.1.1(Bundle)为例。JDK使用的是1.8版本,也建议大家使用1.8版本。
使用技巧无先后顺序。
Android Studio 2.1.1

软件下载

目前,国内大家比较熟悉的应该是Android Studio中国社区,每次Android Studio的更新版本都可以在这找到。

Android Studio使用技巧问答区

http://ask.android-studio.org/?/explore/category-4

1、代码没有错误,但是爆红解决技巧

当我们写入一些代码的时候,可能有些代码是正确的,但是AS却说找不到,这时候我们清理一下缓存即可并重启AS即可解决这个问题。具体步骤是点击File-Invalidate Cache / Restart…即可。

2、编辑/打开另一个项目,下载GIt项目

标题可能说的有点模糊。一般情况下,每一个AS工作区对应一个项目(当然可以添加多个Modules)。假如,我们当前正在编辑的是A项目,我想打开B项目进行编辑,此时的做法也很简单。
方法一:点击File-Open… 然后选择一个Gradle项目即可。
方法二:点击File-Open Recent 然后选择一个项目打开即可。
如果我想关闭当前项目,并且打开B项目
方法三:点击File-Close Project,然后在打开的界面选择Open an existsing Android Studio Project选择一个本地项目打开即可。
下载Git项目
方法四:点击菜单栏的VCS-Checkout from Version Control-Git 在弹出的对话框输入项目的SSH地址即可下载。如下图:

下载Git项目.png

3、查看AS使用的SDk、JDk路径

File-Other Settings-Default Project Structure…

Project Structure.png

4、删除Module

了解Android Studio的应该知道其工作空间(Project)对应可以创建多个Module,而且可以对Module进行同时build等操作,当不需要这个Module,想要彻底删除它时,有两种方式(如删除下图的test Module):

即将要删除test Module.png

(1)右击MyApplication项目,选择Open Module Settings,选中要删除的Module(test),点击符号“—”进行删除,步骤如下图所示:

删除Module.png

移除Modul列表后.png

实际上,此时test仅仅是退出了Module列表(移除了对Project对Module的保护),并没有删除,此时对test右击,点击“Delete”则可,步骤如下图所示:

删除一个项目.png

(2)通过Android Studio对Module的保护机制去删除一个Module。

在Eclipse上,如果想要删除一个项目,直接右击选择“Delete”删除项目即可,但是在Android Studio只有把Module的保护机制删除才能对其删除,所以两者的不同就是Android Studio多了个保护机制,那么我们只要知道保护机制的原理即可。事实上,Module的保护机制是通过settings.gradle文件实现的,我们首先打开settings.gradle文件,内容图下图所示:

Module保护机制列表.png
代码如下:

include ':app',':test'

代码很显然,表示当前项目包括了两个Module,一个是app,另一个是test。当我们想删除test Module的保护机制,只需删除代码:’:test’,保存并重新执行gradle文件即可,具体步骤是:
1、删除代码:,’:test’并保存;
2、点击菜单栏的Sync按钮,重新编译项目即可。
Sync Gradle.png
ps:实际上,该操作是可逆的!!!

5、把Eclipse项目移植到Android Studio 2.1.1

参考文章
将Eclipse代码导入Android Studio
镜像网站-techbrood
前提:ADT版本需要22以上。
查看ADT版本号。在Eclipse打开Help-Installation Details,然后选择Plugin-ins,如下图可看到当前使用的ADT版本为23。
ADT版本号.png

当前以一个Hello工程为例。步骤如下:
1、在Eclipse选择File-Export-Android-Generate Gradle Build File-Next,接着选择项目Hello,Next—Finish-Finish。此时,打开Hello项目目录。

创建Gradle相关文件.png
从图上可以看出,此时生成了Gradle相关的文件夹。

2、选择导入工程的结构方式。

一般情况下,导入Eclipse项目到Android Studio会有两种结构,一种是与Eclipse的项目文件结构相同,只是增加了IDE文件和Gradle相关文件;另一种则是符合Android Studio项目工程的结构,即Module包好Module。这两种结构的导入方式都是支持的。如下图,Open an existing Android Studio Project和Import Project都代表第一种结构。

选择导入结构方式.png

2.1第一种结构-保留Eclipse的项目结构

选择build.gradle文件导入项目,如下图所示(可能需要同步一下gradle版本):

Android Studio项目目录.png
此时,我们可以看一下这个项目存在多少个Module,点击Gradle选项卡。

仅有一个Module.png
从图上可以看出,当前项目只存在一个Module。

2.2选择Import Project

该方式也是选择build.gradle文件,其它步骤也都相同。

2.3符合Android Studio的项目结构

选择Import Project选项,不需要增加Gradle相关文件,直接选择项目名称,点击OK。
导入非gradle项目.png
这时候会弹出一个对话框,如下图所示,意思是根据Hello这个项目,导入一个复制Hello的项目,名称为Hello1,并且不去修改Hello项目。此处,选择“Next”。
Copy a project.png
对话框继续弹出。图片中包括了三个复选框,
第一、二项表示如果条件允许,利用gradle的依赖功能去代替jar包和库的加载。一般情况下,为了便于后面代码、jar包管理,这两项是勾选的。
第三个表示该项目、代码的命名方式采用驼峰命名法,也就是说会修改一些,不符合驼峰命名法的名称。

选择修改的内容.png
点击finish等待项目创建。当项目创建成功后,查看Gradle。如下图:

Android Studio项目创建成功.png
图片左侧可以看到项目结构与使用Android Studio创建新的项目的结构是相同的,右边可以查看到当前项目有两个Module,一个是根-Hello1,另一个是子Module-app。中间是一个txt文件——import-summary.txt,它主要描述了导入Eclipse项目过程中做了Android Studio什么事情,比如:Ignored Files表示没有导入的文件;Replaced Jars with Dependencies表示Eclipse里jar包的导入替换为gradle的依赖;Moved Fiels表示文件的剪切——把资源文件移动到了子Module的工程目录下;还有就是接下来的建议,比如文件的描述是建议build项目。最后,改文件是临时文件,一般情况下,项目创建完成后即可删除它。

3、构建apk

当项目导入成功后,点击菜单栏的Build-Build APK,当执行完成后能生成Hello-debug.apk和Hello-debug-unaligned.apk则表示代码无误,并构建成功。

build apk成功.png

6、Android Studio快速编程技巧

PS:官网有一篇关于快速编程技巧的文章,点击上面标题即可访问(注:需要拨VPN)
文章表述的内容主要是写少量的代码并结合快捷键(Tab)就能敲出大量的代码。下面举个例子,假如需要在敲出下面的代码:

Toast.makeText(MyActivity.this, "这是一个Toast", Toast.LENGTH_SHORT).show();

如果在Eclipse软件下我们需要上面的代码,一般需要输入内容还是蛮多的,但是在Android Studio中只需要输入Toast和文本内容即可。具体步骤如下:
1、输入Toast
2、按下Tab键
3、输入文本内容“这是一个Toast”
4、再按下Tab键,让游标到达当前行的末尾即可。
英文水平不错的可以参考这篇文章:Writing More Code by Writing Less Code with Android Studio Live Templates下面的这张图片就来自这篇博文,其作者是Reto Meiter
图片来自Reto Meier的博客,博客地址:https://medium.com/@retomeier?swoff=true
PS:实际上,使用Enter键代替Tab键也是可行的,亲试可用!

7、Live Templates

其实上面的第6个技巧使用到的就是Live Templates,它的目的在于定义一些常用的方法,在编码过程中,当使用到这些方法时,敲下少量的代码就能通过代码模块自动生成相应的方法和方法体代码,这样大大提高了编码效率,而且令人兴奋的一点是,这些模板我们可以自定义。
自定义或者查看Live Templates的位置在:File-Settings-Editor-Live Templates。如下图,即使Toast的模板:

Live Templates for Toast
点击下面链接可以查看如果快速定义自己的Live Templates–Live Templates教程

8、代码自动完成

代码自动完成

9、Project无法使用Instant Run(即时运行)功能

如下图所示,当我们首次运行一个demo Project时,很大程度上会出现以下的异常。异常信息显示,如果想要使用Instant Run功能,需要Android Studio允许adb集成功能(Enable ADB integration),一般我们需要手动去设置enable。
Error running app

手动设置Enable ADB integration,在Tools-Android-Enable ADB Integration,Enable ADB Integration前打上勾即可。如下图:

Enable ADB Integration.png

PS:请保证Instant Run是允许使用的,具体的查看位置在File-Settings-Build,Excution,Deploymeny-Instant Run,在第一个选项Enable Instant Run to hot swap code/resource changes on deploy前面的复选框是打钩的。

10、性能分析时,请关闭Instant Run功能。

当使用Android Monitor的Monitors选项查看调试应用情况并对其进行性能分析时,请关闭Instant Run功能。因为当更新方法时,会对结果造成略大的影响,此外Stub方法会使得堆栈跟踪。

关闭Instant Run功能可见第9个技巧点的PS部分。

12、Open Module Settings

参考:Android Studio 之 Gradle与Project Structure详解

Properties

Incremental Dex(增量dex)

其实跟增量包的理解差不多,我们在编译(Compile)apk时默认情况下会重新编译整个apk,如果这个属性设置为true则只会重新编译新增加或者修改的内容,这样就可以大大缩短编译时间了。

Source Compatibility(资源兼容性)

编译(Compile)应用时兼容的java版本。2.1.1的Android Studio不支持Java 8(jdk1.8),所以如果此处使用1.8会出错,但是是可以解决的。可以参照技巧13

Flavors

Build Type

13、Android Studio支持java 8

参考1:yuhanghate的博客文章
参考2:官方文档,关于AS使用java1.8的说明

14、Android Studio Lint

lint是一个检查代码结构,保证代码的Correctness、Usability、Security、Accessibility、Performance的工具,可以使用命令行或者Android Studio执行。它的执行结构图如下:
[外链图片转存失败(img-oHzwNAR2-1565693793260)(https://developer.android.com/images/tools/lint.png)]

lint.xml

该文件用于配置需要检查或者排除的问题,并可以配置问题的风险等级。

配置build.gradle以达到禁用Lint效果

当构建应用时,默认会使用lint对Module进行检查,如果希望在检查到error时,不终止构建(也可以理解为屏蔽lint工具),可以在对应的build.gradle文件中配置下面内容:

android {
    lintOptions {
       // set to true to turn off analysis progress reporting by lint
       quiet true
       // if true, stop the gradle build if errors are found
       abortOnError false
       // if true, only report errors
       ignoreWarnings true
    }
    ...
}
使用lint.xml

一般情况下,只有error等级的错误才会终止build,我们可以自定义一个lint.xml文件去配置需要忽略的地方。

lintOptions {    
  lintConfig file("lint.xml") // 这是lint.xml文件路径
  abortOnError true 
}
使用Inspect Code…检查代码

除了在Module build过程中,我们还可以手动去执行lint检查,方法很简单,在主窗口的菜单栏选择Analyze-Inspect Code…,然后指定要检查的位置即可。检查完成后再工具栏会新增加一个Inspection工具,展开工具内容即可看到代码检查的结果,可以通过分析结果去优化代码。

代码整理功能Code Cleanup

这个功能会对指定的地方进行代码整理,把多余的代码清理掉,把冗余的代码整理和删除,是不错的功能。我使用的技巧是,在VCS存在情况下更新到最新版本然后使用该功能进行代码整理,接着就是Compare,看看代码的问题在哪。

Run Inspection By Name…

通过名称去执行检查类型,比如Hardcoded text,在xml中使用字符串时一般都是通过@string/xxx引用的方式,如果代码中出现直接使用字符串,那么这个类型就属于Hardcode

Configure Current File Analysis…

配置当前文件的分析等级。其实就是对于当前的文件是否需要使用Lint工具进行代码检查,实际上,Android Studio默认会检查当前文件的代码规范性,在代码的右边状态栏中,如下图:
代码自动检测
当点击Analyze-Configure Current File Analysis…或者在上图的位置右击并点击Customize HightLighting Level都会弹出下面的对话框:
高亮设置

None

滑动到None表示当前文件不适用Lint检查代码。

Syntax

表示使用Lint工具只检查语法错误。

Inspections

表示使用Lint工具检查代码。

15、代码编辑窗口默认显示行号

16、项目离线sync,减少项目sync时间

每次修改build.gradle文件时,一般建议是重新sync一下项目,但是如果项目不是Use local gradle distribution而是**Use default gradle wrapper(recommend)**会导致每次sync项目时也重新配置gradle环境,导致项目sync时间过长。

一般情况下,第一次打开项目之后gradle环境已经配置好了不需要每次重新配置。所以,现在需要除了首次sync gradle环境,其它时候可以使用离线的gradle环境。这个很好配置,打开Settings-Build,Execution,Deployment-Build Tools-Gradle,把Offline work前面的复选框勾上即可。如下图:

17、Analyze APK(分析apk)

apk文件实际上也是压缩文件的一种,一般情况下,我们把一个apk如demo.apk重命名为demo.zip并解压就可以看到apk的结构情况。在Android Studio中,该步骤不需要手动操作,只需选择菜单栏的Build-Analyze APK…,并选择要分析的APK文件,点击OK即可。

18、Android Studio2.2新增build高速缓存(实验)

这个一个实验性的功能,在Android 2.2以上版本可以实现高速缓存功能,加快apk build速度,但目前是实验性功能。具体方法是在gradle.properties文件中增加

android.enableBuildCache=true
19、代码自动补全优化

如下图,选择None则表示大小写不敏感,默认是First Letter表示首字母大小写铭感,如果第一个字母错了,那么就不会自动补全,如果选择ALL则表示所有都敏感,所以只要打错一个字,那么都不会自动补全了。这里选择None。

20、使用Android Studio皮肤

使用主题:在网站 http://color-themes.com/?view=index 中下载主题,主题格式是jar包的形式,下载到本地后,在Android Studio选择File-Import Settings…,接着选中下载的主题包(*.jar)并点击OK即可。记得重启AS哦。

恢复主题:当我们不想使用这个主题时(想要恢复原来的主题),选择File-Settings-Editor-Colors & Fonts,然后重新选择Scheme即可。

21、SDK下载、更新代理地址

g.cn:80

22、关联C++项目

当一个普通的Module想要关联一个C++项目(Android项目调用C++项目实现Java与C/C++的通信,即JNI项目)时,需要在Module级别build.gradle文件中配置相应的构建脚本文件。

Android Studio支持两种构建工具,一个是NDK,一个是CMake,前者的构建脚本文件一般是Android.mk或者 Application.mk,后者的构建脚本文件固定是CMakeLists.txt。

关联方法:右击Module,选择 Link C++ Project with Gradle,会弹出如下对话框。

选择对应的构建工具,并在Project Path一项选择相应的构建文件,点击OK。当前Module级别的build.gradle文件会自动增加下面代码(以CMake构建工具为例),并自动Sync项目。

android {
  externalNativeBuild {
          cmake {
              path 'CMakeLists.txt'
          }
      }
}

实际上,如果记得命令可以手动敲入,并手动Sync项目。

JNI项目创建教程详看:Android Studio 2.2 更方便地创建JNI项目-CMake

23、Git——新增内容add到工作空间

当使用Android Studio开发时,可能需要添加一些外部文件,如果直接复制-粘贴进来,当使用git提交时,发现可提交部分并没有粘贴进来的文件,这是因为这些文件并只是单纯放在同一个目录下,并没有添加到git的工作空间。那么解决方案就很明朗了,选择当前项目,右击,选择Git,点击第二项Add即可把文件添加到Git工作空间了。如下图:

24、把本地项目分享到Github

选择菜单栏的VCS——Import Into Version Control——Share Project On GitHub。接着Android Studio会提示把项目代码添加到工作空间(教程详看第23条技巧),添加完成就可以提交了。

25、重命名root Project

实际上项目名称是无法重命名的,我们的做法实际上是复制一份项目并重命名它。

  • 方法一、到项目根目录复制、粘贴当前项目并使用Android Studio打开。
  • 方法二、使用Android Studio的重命名方式。
    选择项目,按F5,填写新项目名称,点击ok即可,这时候当前项目目录会生成新的项目,接着点击**File-Open…**打开项目即可。
如果异议,请不吝赐教!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值