| Version 7 (modified by liaojiaohe, 12 years ago) (diff) |
|---|
参考
gradle中英文 http://gradle.org/ http://doc.gradle.cn/wiki/gradle-main?hl=main
项目转换为gradle http://tools.android.com/tech-docs/new-build-system/intellij_to_gradle
gradle android 详细说明 http://tools.android.com/tech-docs/new-build-system/user-guide
常用配置
apply plugin: 'java': 指定项目为java项目
apply plugin: 'android' 指定为android项目
apply plugin: 'android-library':增加android库项目
常用命令
gradle -q quite模式,出错才输出
gradle tasks --all 列出所有任务
gradle projects 列出当前目录下所以项目
gradle :app:tasks 例如 gradle test:assemble 运行test项目assemble任务,相关前置任务会检查一次
例子
以聚超值为例子,因为要多个项目构成,需要settings.gradle 这个文件 , 参考
settings.gradle
include ':pcgCommon', ':Juchaozhi'
local.properties ,用于配置sdk.dir
sdk.dir=/Volumes/DATA/tools/android-sdk-macosx
root项目下有两个项目 pcgCommon和Juchaozhi
root 项目build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.12.+'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
pcgCommon build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.12.+'
}
}
apply plugin: 'android-library'
android {
compileSdkVersion 17
buildToolsVersion = 20
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
instrumentTest.setRoot('tests')
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
juchaozhi 项目build.gradle
apply plugin: 'android'
android {
compileSdkVersion 17
buildToolsVersion = 20
useOldManifestMerger true
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
instrumentTest.setRoot('tests')
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':pcgCommon')
}
要注意有些旧项目的AndroidManifest.xml不符合新的规范要加上 useOldManifestMerger true 这个参数
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)