Android Studio 常用功能介绍

Android Studio 的基本用法

界面介绍

讲解1



这个界面,显示了我们使用 Android Studio时经常接触到的功能面板。
  1. Project 面板。
    用于浏览项目文件。 Project 面板会显示当前的所有的 moduleandroid application module 会显示一个手机图标(下图中的 app );android library module 会显示一个书架图标(下图中的 android-lib );java library module 会显示一个咖啡图标(下图中的 java-lib )。
  2. Build Variants 面板。
    用于设置当前项目的 Build VariantsGradle 知识)。所有的 Module 默认都会有 releasedebug 两种选项。当你添加了 BuildTypesproductFlavors ,这里将出现更多的选项( Gradle 知识)。默认情况下, releasedebug 的区别并不是很明显;针对于代码来说,是没有区别的。
  3. Android 面板。
    功能类似于 Eclipse 中的 Logcat ,但是比其多了一些常用功能,例如:截图,查看系统信息等。
  4. 编辑区。
    用于编辑文件。
  5. Gradle 面板。
    Gradle 任务列表,双击可执行 Gradle 任务。常用任务: buildcleanassembleassembleReleaseassembleDebuglint

讲解2

切换 Project 视图。

默认的Project 面板显示的目录结构为 Android 。通过点击可以进行切换。



常用按钮

讲解3


  1. 编译右侧 module 列表中显示的 module
  2. 当前 projectmodule 列表。
  3. 运行左侧 module 列表中显示的 module
  4. debug 左侧 module 列表中显示的 module
  5. attach debugger to Android process
  6. 设置。
  7. 项目属性。
  8. 使用 Gradle 编译 project
  9. 虚拟机。
  10. SDK Manager
  11. DDMS

常用面板

讲解4



Structure 用于显示当前活动文件的结构。不仅仅支持 Java 文件,同时支持 Xml 文件、 .properties 配置文件等其他文件。

讲解5



当你查看布局文件或者 drawableXml 文件时,右侧会有 Preview 选项。用于预览效果。

讲解6



Terminal 面板。作用和命令行一下,你可以在这里执行一些命令行命令。

讲解7



Memory Monitor 用于查看 app 的内存使用情况。

讲解8



当你的项目使用到了版本控制则会出来 Changes 面板。用于显示针对本地版本库,你修改的文件列表。默认的,修改文件显示为蓝色,新建文件为青色,删除文件为灰色。

.gradle 文件简单介绍

一个 Android Studio 项目中,会存在多个 .gradle 文件。其中, project 目录下存在一个 build.gradle 文件和一个 settings.gradle 文件;每一个 module 会存在一个 build.gradle 文件。

本文只是简略的讲解一下默认生成的 .gradle 文件的内容,更多 Gradle Plugin 的知识,请看这里

{@projectName}\build.gradle

讲解9

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:1.0.0'
}
}

allprojects {
repositories {
    jcenter()
}
}


默认的 project 目录下的 build.gradle 文件内容如上。
  • buildscript :用于设置驱动构建过程的代码。
  • jcenter():声明使用 maven 仓库。在老版本中,此处为 mavenCentral()
    1. mavenCentral() :表示依赖从 Central Maven 2 仓库中获取。
    2. jcenter() :表示依赖从 Bintary’s JCenter Maven 仓库中获取。
    3. 3. **mavenLocal()** :表示依赖从本地的Maven仓库中获取。
  • dependencies :声明了使用 Android Studio gradle 插件版本。一般升级AS或者导入从Eclipse中生成的项目时需要修改下面gradle版本。具体的版本对应关系,请点击
  • allprojects:设置每一个 module 的构建过程。在此例中,设置了每一个 module 使用 maven 仓库依赖。

在景德镇,默认的maven源可能无法访问,可以通过以下的方式设置其他的maven源。当然,你也可以设置依赖本地库。

maven {
url "http://xx.xxx.xxx/xxx"
}


开源中国的源地址为:

http://maven.oschina.net/content/groups/public/


开源中国的thirdparty源地址为:

http://maven.oschina.net/content/repositories/thirdparty/


一个项目可以有好几个库。 Gradle 会根据依赖定义的顺序在各个库里寻找它们。在第一个库里找到就不会再在第二个库里进行寻找。

{@projectName}\settings.gradle

讲解10

include ':app'


默认的 project 目录下的 settings.gradle 文件内容如上。可有可能默认情况下, project 目录下的 settings.gradle 文件不存在,你可以自己创建。
  • include ':app':表示当前 project 下有一个名称为 appmodule

如果你的一个 module 并不是 project 根目录下,你可以这么设置。

include ':app2'
project(':app2').projectDir = new File('path/to/app2')


{@moduleName}\build.gradle

讲解11

apply plugin: 'com.android.application'

android {
compileSdkVersion 21
buildToolsVersion "21.1.2"

defaultConfig {
    applicationId "cc.bb.aa.myapplication"
    minSdkVersion 10
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}


默认的 module 目录下的 build.gradle 文件内容如上。
  • apply plugin: 'com.android.application'
    表示使用 com.android.application 插件。也就是表示,这是一个 android application modulecom.android.library 表示,这是一个 android library module
  • android
    配置所有android构建过程需要的参数。
  • compileSdkVersion
    用于编译的 SDK 版本。
  • buildToolsVersion
    用于 Gradle 编译项目的工具版本。
  • defaultConfig
    Android 项目默认设置。
    1. applicationId:应用程序包名。
    2. minSdkVersion:最低支持 Android 版本。
    3. targetSdkVersion:目标版本。实际上应为测试环境下测试机的 Android 版本。
    4. versionCode:版本号。
    5. 5. **versionName**:版本名称。
  • buildTypes:
    编译类型。默认有两个: releasedebug 。我们可以在此处添加自己的 buildTypes ,可在 Build Variants 面板看到(见 讲解1 )。
    1. minifyEnabled
      是否使用混淆。在老版本中为 runProguard ,新版本之所换名称,是因为新版本支持去掉没使用到的资源文件,而 runProguard 这个名称已不合适了。
    2. 2. **proguardFiles**:
      使用的混淆文件,可以使用多个混淆文件。此例中,使用了 **SDK** 中的 **proguard-android.txt** 文件以及当前 **module** 目录下的 **proguard-rules.pro** 文件。
  • dependencies
    用于配制引用的依赖。
    1. compile fileTree(dir: 'libs', include: ['*.jar'])
      引用当前 module 目录下的 libs 文件夹中的所有 .jar 文件。
    2. 2. **compile 'com.android.support:appcompat-v7:21.0.3'**:
      引用 **21.0.3**版本的 **appcompat-v7** (也就是常用的 **v7** library 项目)。

版本控制

讲解12

当你在 Android Studio中创建了一个项目之后,默认是没有版本控制的。如果你想对项目进行版本控制,可以这么设置。
VCS --> Enable Version Control Integration



如果你想取消某一个项目的版本控制,你可以在设置页面中设置。
Version Control 右侧列表中,选择目标 module ,在点击右侧的减号即可。



讲解13

如果你想从版本服务器中迁出项目,你可以这么设置。
VCS --> Checkout from Version Control ,选择服务器的版本控制工具,填写地址即可迁出。



在 Android Studio 起始页面也可以进行迁出。
点击 Checkout from Version Control,选择服务器的版本控制工具,填写地址即可迁出。

19 分享
studio Jerry advdfiser wangdong20 樱木_木木 leeven tianjf0514 kinggreenhall sunnyLyg Constantine 绿然 zola 453392929 smart shawnlee 暴走巴巴 zcmain 夜空sky 常戚于慎
studio

studio

酷噢!
0 赞 2014-12-29 21:32
hust_mse

hust_mse

我想问下compile 'com.android.support:recyclerview-v7:21.0.2', 这后面的版本号是从哪获取到的?
0 赞 2015-01-09 12:02
monroe

monroe 回复 hust_mse

在SDK Manager中,有android support repository和android support library两个东西,上面有版本号。这两个东西,一个是as的支持库,一个是eclipse的支持库。这两个同时更新的。
0 赞 2015-01-09 22:47
zy199999

zy199999 回复 hust_mse

这个版本号应该是android studio自己根据实际情况发现的哦,你的jdk是**下的还是去某网站下的压缩包?如果有压缩包提供个链接我看看具体情况
0 赞 2015-01-30 16:49
tianjf0514

tianjf0514

1. compile 'com.google.android.gms:play-services:+',请问这个加号是什么版本?
2. 用eclipse的时候appcompat-v7是自己导入的一个project。而android studio是不是不用自己导入,是直接用SDK内部的?
3. 如果是上面2的情况,那么,compile 'com.android.support:appcompat-v7:18.0.0',而SDK内部的版本是21.0.3。这种情况怎么办,SDK内部没有18.0.0的版本,编译的时候也没有报错,难道是直接用了SDK内部的21.0.3版本的?
0 赞 2015-02-12 14:25
monroe

monroe 回复 tianjf0514

1. 个人猜测,那个+号的意思是,最新的版本
2. android studio 中使用v7一般是使用maven依赖的方式。你也可以通过导入library project的方式使用。
3. 在SDK manager中,v7虽然现实的是21.0.3,但是具体的SDK 目录中已经下载了之前的版本,所以引用是没有问题。你可以到android-sdk\extras\android\m2repository\com\android\support\appcompat-v7 目录下查看已经下载的v7版本。
0 赞 2015-02-24 14:01
monroe

monroe 回复 monroe

3. 在SDK manager中,v7虽然显示的是21.0.3,但是具体的SDK 目录中可能已经下载了之前的版本,所以引用是没有问题。你可以到android-sdk\extras\android\m2repository\com\android\support\appcompat-v7 目录下查看已经下载的v7版本。
0 赞 2015-02-24 14:03
Zechary

Zechary

activity_mian.xml如何设置可以在改变Text的时候,Design实时跟随改变,让Design和Text同时显示
0 赞 2015-03-10 20:34
DovSnier

DovSnier

大神哇 赞一个
0 赞 2015-03-29 10:52
直下看山河

直下看山河

我的android studio没有preview,view->tool windows里面也没有,这是为什么啊
0 赞 2015-05-06 23:29
hunt

hunt

V5 学习了
0 赞 2015-05-07 10:25
monroe

monroe 回复 直下看山河

只有在布局页面才有
0 赞 2015-05-07 12:03
laksg2009

laksg2009

对于我这个初学者来说看不懂的都是好东西呀
0 赞 2015-07-04 23:48
zola

zola

很赞啊。好多不明白的,都知道了。
0 赞 2015-08-31 17:13
yuanxx

yuanxx

请问Android Studio里怎么修改程序包名啊?要整个都改的,不是改最后一层
0 赞 2015-09-09 10:15
tianyizhishao

tianyizhishao

你好请问下maven 私服配置是不是
repositories {
maven {
url "http://xx.xxx.xxx/xxx"
}
}

??
0 赞 2015-11-14 10:40
staring

staring

我只注意到 景德镇 三个字
0 赞 2015-12-11 14:42
flycumt

flycumt

Android studio怎么使用svn?
0 赞 2015-12-22 18:00
flycumt

flycumt

“minifyEnabled:
是否使用混淆。在老版本中为 runProguard ,新版本之所换名称,是因为新版本支持去掉没使用到的资源文件,而 runProguard 这个名称已不合适了。”这里如果资源文件是在运行时动态决定的呢,比如根据服务器接口返回的值决定用哪一个资源文件,而不是编译时决定的,这样混淆编译岂不是会导致问题,编译时把有些文件去掉了那运行时找不到怎么办?
0 赞 2015-12-22 18:05
monroe

monroe 回复 flycumt

android gradle plugin 支持资源的保护,指定的资源,即时暂时没有使用到,也不会被删除。http://tools.android.com/tech-docs/new-build-system/resource-shrinking
0 赞 2016-01-18 15:00
nonage_bread

nonage_bread

这Android Studio 各种问题啊,真心塞
0 赞 2016-03-15 22:42

要回复文章请先登录注册