Android Studio 是Google官方推荐的,以IntelliJ IDEA为基础的安卓应用集成开发环境(IDE: Integrated Development Environment). 除了IntelliJ IDEA的功能之外,Android Studio 还提供了如下功能:
- 以 Gradle 为基础的灵活的编译系统;
- 编译生成多个不同类型的Apk 文件;
- 代码模板,帮助你生成常用的应用功能;
- 丰富的支持拖拽编辑主题的布局编辑器;
Lint 工具帮助你分析性能,可用性,版本兼容,以及其他问题;
- 代码混淆和 App 签名功能
- 内置的支持Google云平台功能,使得集成Google云端推送和Google App Engine不再困难;
- 以及其他很多功能
如果你是新接触Android Studio 或者 IntelliJ IDEA的操作界面,这篇文章提供了一些关于Android Studio的关键功能的介绍。
想了解详细的 Android Studio 说明文档,可以查看 工作流程 章节中的文章,比如 Android Studio 中管理项目 和 Android Studio 中编译运行项目。查看最新的 Android Studio 动态,请访问 Android Studio 发布记录。
工程和文件目录
Android 视图
Android Studio 默认以Android 工程视图(Android project view)模式显示项目文件. 这种视图以扁平化的方式显示工程的结构,可以非常方便的查看关键的源代码文件,并且可以很轻松的使用 Gradle-based build system. Android 工程视图特征如下:
- 将最重要的源码文件夹展示在组件(module)目录的顶层.
- 将所有组件的编译文件分组到一个共同的文件夹.
- 将每一个组件的manifest文件分组到一个共同的文件夹.
- 列出Gradle集合中的所有资源文件.
- 将资源文件按照本地化、方向、屏幕类型,根据不同的文件类型分成不同的组.
图1.选择Android 工程视图.
图2. 工程编译文件.
Android 工程视图将所有的编译文件显示在Gradle Scripts 目录中的最顶层.每一个项目组件都以一个文件夹的形式展现在目录的最顶层,而且都包含如下四个目录:
java/
- 当前组件的源文件目录.manifests/
- 当前组件的Manifest文件目录.res/
- 当前组件的资源文件目录.Gradle Scripts/
- Gradle 编译和属性文件目录.
例如,Android 工程视图模式将不同分辨率下的 ic_launcher.png 资源文件分到相同名称的组里。
注意: 实际硬盘中的文件目录结构跟Android工程视图下展现的方式是不一样的.你可以通过从视图下拉列表中选择 Project 切换回分割的工程视图.
其他视图模式
当你使用Anroid studio的工程模式(Project View)时,你要注意工程的目录结构跟你之前使用Eclipse时的目录结构可能是不一样的。每一个Android Studio实例只包含一个工程,这个工程可以包含一个或者多个应用组件。 每一个应用组件文件夹都包含完整的源文件集合 ——它包括 src/main/
和/androidTest/
文件夹, 资源文件,编译文件以及Manifest文件。 通常情况下,每个组件的src/main/
目录下存放源代码文件,.build 文件用来设置编译规范,而 src/androidTest/
文件下的代码是为了测试指定的用例。
图3. Android Studio 工程目录结构
另外,为了能专注你项目开发过程中遇到的特殊问题,你也可以切换到其他特定的视图模式:
- 包结构视图 (Packages)
- 项目文件视图 (Project Files)
- 划痕视图 (Scratches)
- 问题视图 (Problems)
- 生产视图 (Production)
- 测试视图 (Tests)
例如,将Android Studio切换到问题视图状态,它会列出源代码文件中包含的语法错误和不合理的代码,比如在布局文件中缺少了XML结束标签。
更多内容, 请查看 IntelliJ project organization 和 Managing Projects.
Android 编译系统
Android 是你用来编译、测试、运行以及打包你的应用的工具。这个编译系统替换了Eclipse ADT中的Ant系统。它既可以以集成工具的方式在Android Studio的菜单中启动,也可以以独立的命令行形式运行。你可以使用编译系统的功能做如下的事情:
- 定制、配置或者扩展编译操作。
- 使用同样的项目和组件创建出为你的应用创建出多个版本的APK。
- 在不同的资源集合中重用代码和资源文件。
宽松解耦的编译系统,使得你在不修改核心代码就能实现这些目的。编译 Android Studio 项目, 请参考 Building and Running from Android Studio. 定制编译Android Studio 工程, 请参考 Configuring Gradle Builds.