Android Studio Gradle
基本概念
- gradle是一个构建工具,集合了编译,运行,签名,打包等。
- android Studio中的一个project相当于eclipse中的一个workspace,一个module(模块)相当于eclipse中的一个project,library。
- As的一个每一个module都有一个相应的build.gradle ,一个project中通常有一个build.gradle和一个setting.gradle。
gradle具体内容
project的bulid.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply from: 'config.gradle'
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
- 上面的apply from:’config.gradle’是对module的管理,设置的配置文件
- jcenter()是包含了maven的一个远程仓库,可以从里面下载需要的依赖
setting.gradle
include ':app', ':baidumap', ':mvp', ':rxjava2.0'
- 是设置你的project中的module的,当你要添加module,可载此文件中添加相应格式的代码。
module的build.gradle
apply plugin: 'com.android.application'
android {
//编译版本
compileSdkVersion 24
//sdk的buildTool版本
buildToolsVersion "25.0.0"
//默认设置
defaultConfig {
//包名
applicationId "com.example.wulei.demotest"
//最小sdk版本
minSdkVersion 21
//目标sdk版本
targetSdkVersion 24
//版本号
versionCode 1
//版本名称
versionName "1.0"
}
buildTypes {
//发行版本
release {
//是否混淆
minifyEnabled false
//混淆文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
//依赖,本地,远程,library
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
compile 'com.android.support:design:24.2.1'
compile 'com.android.support:recyclerview-v7:24.2.1'
compile 'com.android.support:support-v4:24.2.1'
compile 'com.android.support:cardview-v7:24.2.1'
}
- apply plugin:’com.android.application’默认,之前版本为Android
- android中为一些android的一些默认配置
- dependencies是可以从
- 本地加载一条:compile file(path);
- 本地加载多个libs:compile fileTree(dir:’libs’ , include:’[*.jar]’)
- 远程仓库:compile ‘group + name + version’
- 加载一个本地module:compile project(‘:…’):
多个module的管理
如果一个项目中有多个module,而每一个module都要导入多个依赖,如果一个个分别导入,当需要更换版本时,则需要一个个更换修改,很麻烦,所以需要进行管理。
- 在project根项目中创建一个config.gradle配置文件。
- 在build.gradle中 填上 apply from :’config.gradle’
- 然后在module的bulid.gradle中进行配置
config.gradle
ext {
android = [compileSdkVersion: 24,
buildToolsVersion: "25.0.0",
applicationId : "com.example.wulei.rxjava20",
minSdkVersion : 15,
targetSdkVersion : 24,
VersionCode : 1,
VersionName : "1.0"
]
dependencies = ["support-v4" : 'com.android.support:support-v4:24.2.1',
"appcompat-v7" : 'com.android.support:appcompat-v7:24.2.1',
"recyclerview-v7" : 'com.android.support:recyclerview-v7:24.2.1',
"design" : 'com.android.support:design:24.2.1',
"cardview-v7" : 'com.android.support:cardview-v7:24.2.1',
"rxjava2:rxjava" : 'io.reactivex.rxjava2:rxjava:2.0.3',
"rxjava2:rxandroid" : 'io.reactivex.rxjava2:rxandroid:2.0.1',
"rxjava" : 'io.reactivex:rxjava:1.0.14',
"rxandroid" : 'io.reactivex:rxandroid:1.0.1',
"butterknife" : 'com.jakewharton:butterknife:8.4.0',
"butterknife-compiler": 'com.jakewharton:butterknife-compiler:8.4.0'
]
}
project的bulid.gradle
apply from: 'config.gradle'
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
module的bulid.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
applicationId rootProject.ext.android.applicationId
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
versionCode rootProject.ext.android.versionCode
versionName rootProject.ext.android.versionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
compile rootProject.ext.dependencies ["rxjava2:rxjava"]
compile rootProject.ext.dependencies ["rxjava2:rxandroid"]
compile rootProject.ext.dependencies ["butterknife"]
annotationProcessor rootProject.ext.dependencies ["butterknife-compiler"]
}
Android Studio 快捷键
提示
- Ctrl+P 方法参数提示
- Ctrl+空格 代码提示
- Ctrl+Shift+Space 在很多时候都能够给出Smart提示
- Ctrl+Alt+Space 类名或接口名提示
最近相关
- Ctrl+E 最近打开的文件。
- Ctrl+Shift+Backspace 可以跳转到上次编辑的地方
- Ctrl+Alt+ left/right 返回至上次浏览的位置
- Ctrl+E或者Alt+Shift+C 最近更改的代码
- Alt+Shift+C 对比最近修改的代码
移动
- Ctrl+Shift+Up/Down 代码向上/下移动。
- F2 或Shift+F2 高亮错误或警告快速定位 -
- Ctrl+Up/Down 光标跳转到第一行或最后一行下
- Ctrl+[或] 可以跳到大括号的开头结尾
- Ctrl+Shift+up/down 移动方法
查看
- Alt+1 快速打开或隐藏工程面板
- Ctrl+H 查看类结构图
- Ctrl+F12 查看当前文件的结构
- Ctrl+Q 查看注释文档
- Ctrl+P 查看参数信息
- Alt+Q 查看当前方法的声明
- Ctrl+Q 查看JavaDoc
- Ctrl+W 选中单词继而语句继而行继而函数
查找
- Alt + F1 查找代码所在位置
- Ctrl + F7 查找当前元素在当前文件中的引用,然后按F3可以选择
- Alt + F3 快速查找
- Ctrl + Shift + F7 可以高亮当前元素在当前文件中的使用
- Ctrl + Shift+N 查找文件
- Ctrl + Shift+Alt+N 查找类中的方法或变量
- Ctrl + B 查找打开光标处的类或方法
- Ctrl + N 快速查找类
- Ctrl + F 查找文本
- Alt+F1 可以将正在编辑的元素在各个面板中定位
- Ctrl+Shift+Alt+N 可以快速打开符号 快速打开类/文件/符号时,可以使用通配符,也可以 使用缩写
- Ctrl+Alt+Up /Ctrl+Alt+Down 可以快速跳转搜索结果
修复
- Shift+F6 重构-重命名
- Ctrl+X 删除行
- Ctrl+D 复制行
- Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者/…/ )
- Alt+Insert 可以生成构造器/Getter/Setter等
- Ctrl+Alt+L 格式化代码
- Ctrl+R 替换文本
- Alt+Enter 导入包,自动修正
- Ctrl+Alt+O 优化导入的类和包
- Ctrl+J 自动代码
- Ctrl+Shift+Space 自动补全代码
- Ctrl+Alt+Space 类名自动完成
- Ctrl+Shift+Insert 可以选择剪贴板内容并插入
- Ctrl+Shift+J 可以整合两行
- Ctrl+Alt+T 可以把代码包在一块内,例如try/catch
- Ctrl+Alt+V 可以引入变量。例如把括号内的SQL赋成一个变量
- Alt+F8 计算变量值
- Ctrl+O 可以选择父类的方法进行重写