当前位置:   article > 正文

Android Studio Gradle

android studio gradle

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()
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 上面的apply from:’config.gradle’是对module的管理,设置的配置文件
  • jcenter()是包含了maven的一个远程仓库,可以从里面下载需要的依赖

setting.gradle

include ':app', ':baidumap', ':mvp', ':rxjava2.0'
  • 1
  • 2
  • 是设置你的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'
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 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'

    ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

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()
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

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"]

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

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 可以选择父类的方法进行重写
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/619121
推荐阅读
相关标签
  

闽ICP备14008679号