-
Notifications
You must be signed in to change notification settings - Fork 1
/
config_compile.gradle
150 lines (126 loc) · 5.92 KB
/
config_compile.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
139
140
141
142
143
144
145
146
147
148
149
150
apply plugin: 'kotlin-kapt'
ext {
android {
//编译的SDK版本
compileSdkVersion 30
//编译的Tools版本
buildToolsVersion "29.0.2"
//==========================================================================================
// 默认配置
//==========================================================================================
defaultConfig {
//支持的最低版本
minSdkVersion 19
//支持的目标版本
targetSdkVersion 30
//版本号
versionCode 1
//版本名称
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
//开启 Dex 分包
multiDexEnabled true
}
//==========================================================================================
// other configuration (buildTypes, defaultConfig, etc.)
// 在该packagingOptions块内添加该块,android以将原子函数模块从包中排除,并防止出现警告。
//==========================================================================================
packagingOptions {
exclude 'META-INF/atomicfu.kotlin_module'
}
//==========================================================================================
// 启用 DataBinding
//==========================================================================================
dataBinding {
enabled = true
}
//==========================================================================================
// 启用 viewBinding
//==========================================================================================
viewBinding {
enabled = true
}
//==========================================================================================
// 出现错误不终止编译
//==========================================================================================
lintOptions {
abortOnError false
}
//==========================================================================================
// 使用 httpclient (7.0之前使用的网络请求非HttpURLClient)
//==========================================================================================
useLibrary 'org.apache.http.legacy'
//==========================================================================================
// 支持java 8
//==========================================================================================
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
//==========================================================================================
// Cannot inline bytecode built with JVM target 1.8
// into bytecode that is being built with JVM target 1.6
//==========================================================================================
kotlinOptions {
jvmTarget = "1.8"
}
//==============================================================================================
// dex 配置
//==============================================================================================
dexOptions {
jumboMode true
dexInProcess true
//是否预索引库。这可以改善增量构建,但是干净的构建可能会更慢。
preDexLibraries true
//指定-Xmx调用dx时的值。示例值为"2048m"。
javaMaxHeapSize "4g"
//可用于dex的最大并发进程数。默认为4
maxProcessCount 6
//运行dx时要使用的线程数。默认为4
threadCount 4
//将所有带有运行时注释的类保留在旧版multidex中的主dex中。
keepRuntimeAnnotatedClasses false
}
//==========================================================================================
// 源文件路径设置
//==========================================================================================
sourceSets {
main {
//java 代码路径
java.srcDirs = [
'src/main/java', //Java
'src/main/kotlin' //Kotlin
]
//资源路径 当需要将layout 进行分包时候可以进行配置 eg 'src/main/res/layout/activity',
res.srcDirs =
[
'src/main/res'
]
//jni 路径
jniLibs.srcDirs = [
'libs',
'jniLibs'
]
}
}
//==========================================================================================
// 当引入的其他model下的jar 或者 aar 时候 需要配置
// eg: '../component_audio_conversion/libs',
//==========================================================================================
//使用libs 下面的依赖
repositories {
flatDir {
dirs 'libs'
}
}
//==========================================================================================
// lib 模块是否开启自定义的混淆
//==========================================================================================
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
}