-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
138 lines (123 loc) · 4.43 KB
/
build.gradle
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
apply plugin: 'com.android.application'
def buildTime() {
return new Date().format("yyyyMMddHHmm", TimeZone.getTimeZone("GMT+8"))
}
android {
//SDK版本号
compileSdkVersion 22
//build工具版本号
buildToolsVersion "22.0.1"
//签名
signingConfigs {
debug {
//别名
keyAlias 'androiddebugkey'
//密码
keyPassword 'android'
//证书文件
storeFile file('keystore/debug.keystore')
//文件密码
storePassword 'android'
}
release {
keyAlias 'androiddebugkey'
keyPassword 'android'
storeFile file('keystore/release.keystore')
storePassword 'android'
}
}
defaultConfig {
// pakagename
applicationId "net.funol.workwithgradle"
// 支持的最低版本
minSdkVersion 15
// 目标SDK版本
targetSdkVersion 22
// 版本号
versionCode 1
// 版本名称
versionName "1.0"
}
buildTypes {
debug {
debuggable true
shrinkResources false
signingConfig signingConfigs.debug
buildConfigField "String", "HOST", '"https://debug.funol.net"'
buildConfigField "boolean", "isRelease", 'false'
buildConfigField "int", "versionCode", "${defaultConfig.versionCode}"
manifestPlaceholders.putAll([
UMENG_APP_KEY: "55a45f2967e58e1xxxxxxxxx"])
}
release {
debuggable false
signingConfig signingConfigs.release
//是否清理无用资源
shrinkResources true
//是否启用zipAlign压缩
zipAlignEnabled true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField "String", "HOST", '"https://release.funol.net"'
buildConfigField "boolean", "isRelease", 'true'
buildConfigField "int", "versionCode", "${defaultConfig.versionCode}"
manifestPlaceholders.putAll([
UMENG_APP_KEY: "55a45f2967e58e1xxxxxxxxx"])
}
toTest {
debuggable true
shrinkResources false
signingConfig signingConfigs.debug
buildConfigField "String", "HOST", '"https://test.funol.net"'
buildConfigField "boolean", "isRelease", 'false'
buildConfigField "int", "versionCode", "${defaultConfig.versionCode}"
manifestPlaceholders.putAll([
UMENG_APP_KEY: "55a4612067e58ebxxxxxxxxx"])
}
}
productFlavors {
official {
versionName "1.0-official"
manifestPlaceholders.putAll([DEMO_VALUE: "official demo value"])
}
google {
versionName "1.0-google"
manifestPlaceholders.putAll([DEMO_VALUE: "google demo value"])
}
wandoujia {
versionName "1.0-wandoujia"
manifestPlaceholders.putAll([DEMO_VALUE: "wandoujia demo value"])
}
}
productFlavors.all { flavor ->
flavor.manifestPlaceholders.putAll([
AMAP_API_KEY : "e86b3a2aa88d36b36322e58xxxxxxxxx",
UMENG_CHANNEL: name])
}
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
//获取文件夹路径
def path = getProjectDir().absolutePath;
//文件名规则 buildType_WorkWithGradle_v1.0_yyyyMMddHHmm_flavorName.apk
def fileName = "${variant.buildType.name}_WorkWithGradle_v${defaultConfig.versionName}_${buildTime()}_${variant.productFlavors[0].name}.apk"
//debug模式要经常编译,文件名定制为同一个
if (variant.buildType.name == 'debug') {
fileName = 'app-debug.apk'
}
if (outputFile != null && outputFile.name.endsWith('.apk')) {
output.outputFile = new File(path, fileName)
}
}
}
}
//声明项目依赖
dependencies {
// 加入本地的jar依赖
compile files('libs/gson-2.3.1.jar')
// 加入本地libs/下的所有jar文件
compile fileTree(dir: 'libs', include: ['*.jar'])
// 加入Maven仓库中的依赖
compile 'com.google.code.gson:gson:2.3.1'
compile 'com.android.support:appcompat-v7:22.1.1'
}