android开发之使用gradle终端下build项目

来源:互联网 发布:浏览器代理软件自动 编辑:程序博客网 时间:2024/06/03 19:20

1. 快速开始


1.1. 最基本的build.gradle写法


首先, build.gradle文件应该放在你的项目的根目录下。如果你的项目目录结构遵从最新的android项目目录结构(基于gradle, 具体见下文介绍), 那么最基本的build.gradle内容如下:

buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:1.1.3'    }}apply plugin: 'com.android.application'android {    compileSdkVersion 21    buildToolsVersion "21.1.1"}


其中buildscript模块中的gradle版本号可查看jcenter仓库的版本列表, 具体地是http://jcenter.bintray.com/com/android/tools/build/gradle/,截止到该博文编写日具体列表如下:

android模块中,compileSdkVersion 指定目标sdk版本,buildToolsVersion指定当前使用的用于build项目的sdk tools版本。

如果你的项目目录结构为旧版本android项目目录结构(基于ant, 具体见下文介绍), 那么最基本的build.gradle内容如下:

buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:1.1.3'    }}apply plugin: 'com.android.application'android {    compileSdkVersion 21    buildToolsVersion "21.1.1"    sourceSets {        main {            manifest.srcFile 'AndroidManifest.xml'            java.srcDirs = ['src']            resources.srcDirs = ['src']            aidl.srcDirs = ['src']            renderscript.srcDirs = ['src']            res.srcDirs = ['res']            assets.srcDirs = ['assets']        }    }}

1.2. build命令


首先你要安装gradle(具体安装方式可见官网),然后在你的项目根目录下执行如下语句:

gradle build


执行成功后,在你的项目根目录下会生成一个outputs目录,里面有所有的build生成的文件,包括debug和release的apk文件。


如果要清理当前的build所有文件,可以在你的项目根目录下执行如下语句:

gradle clean


安装相应apk:

gradle installDebug


1.3. 项目依赖

依赖本地第三方jar包

buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:1.1.3'    }}apply plugin: 'com.android.application'<span style="background-color: rgb(255, 204, 51);">dependencies {    compile fileTree(dir: 'libs', include: '*.jar')}</span>android {    compileSdkVersion 21    buildToolsVersion "21.1.1"    sourceSets {    main {        manifest.srcFile 'AndroidManifest.xml'            java.srcDirs = ['src']            resources.srcDirs = ['src']            aidl.srcDirs = ['src']            renderscript.srcDirs = ['src']            res.srcDirs = ['res']            assets.srcDirs = ['assets']    <span style="white-space:pre"></span>}    }}

依赖remote 仓库的第三方jar包

buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:1.1.3'    }}apply plugin: 'com.android.application'<span style="background-color: rgb(255, 204, 51);">repositories {    jcenter()}</span>dependencies {    compile fileTree(dir: 'libs', include: '*.jar')    <span style="background-color: rgb(255, 204, 51);">compile 'com.theartofdev.edmodo:android-image-cropper:1.0.+'</span>}android {    compileSdkVersion 21    buildToolsVersion "21.1.1"    sourceSets {    main {        manifest.srcFile 'AndroidManifest.xml'            java.srcDirs = ['src']            resources.srcDirs = ['src']            aidl.srcDirs = ['src']            renderscript.srcDirs = ['src']            res.srcDirs = ['res']            assets.srcDirs = ['assets']    <span style="white-space:pre"></span>}    }}

关于jcenter的详细用法,可见下文。

依赖其他android library project

一般把所依赖的android library放到项目根目录下的libraries目录下,假如你的项目名为YourProject,所依赖的项目为LibProject,那么目录结构应该是YourProject/libraries/LibProject。

为了索引到LibProject,我们需要在YourProject目录下添加一个gradle文件,名字为setttings.gradle,内容如下:

include ':libraries:LibProject'

我们的build.gradle文件应该做如下更改:

buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:1.1.3'    }}apply plugin: 'com.android.application'repositories {    jcenter()}dependencies {    compile fileTree(dir: 'libs', include: '*.jar')    compile 'com.theartofdev.edmodo:android-image-cropper:1.0.+'    <span style="background-color: rgb(255, 204, 51);">compile project(':libraries:LibProject')</span>}android {    compileSdkVersion 19    buildToolsVersion "21.1.1"    sourceSets {        main {            manifest.srcFile 'AndroidManifest.xml'            java.srcDirs = ['src']            resources.srcDirs = ['src']            aidl.srcDirs = ['src']            renderscript.srcDirs = ['src']            res.srcDirs = ['res']            assets.srcDirs = ['assets']        }    }}


同时我们的LibProject目录下也要创建自己的build.gradle文件,内容如下:

buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:1.1.3'    }}<span style="background-color: rgb(255, 204, 51);">apply plugin: 'com.android.library'</span>dependencies {    compile fileTree(dir: 'libs', include: '*.jar')}android {    compileSdkVersion 19    buildToolsVersion "21.1.1"    sourceSets {        main {            manifest.srcFile 'AndroidManifest.xml'            java.srcDirs = ['src']            resources.srcDirs = ['src']            aidl.srcDirs = ['src']            renderscript.srcDirs = ['src']            res.srcDirs = ['res']            assets.srcDirs = ['assets']        }    }}



0 0