-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathcommon.gradle
130 lines (105 loc) · 4.01 KB
/
common.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
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'android-aspectjx'
//apply plugin: 'CheckResourcePrefixPlugin'
// 通用配置
android {
// 编译源码版本
compileSdkVersion 31
defaultConfig {
// 最低安装版本
minSdkVersion 21
// 目标适配版本
targetSdkVersion 30
versionName '1.0.0'
versionCode 1
// 日志打印开关
buildConfigField('boolean', 'LOG_ENABLE', '' + LOG_ENABLE + '')
// 测试服务器的主机地址
buildConfigField('String', 'HOST_URL', '"' + HOST_URL + '"')
kapt {
arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}
}
// 支持 Java JDK 8
compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
// 设置存放 so 文件的目录
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
// 可在 Studio 最左侧中的 Build Variants 选项中切换默认的构建类型
buildTypes {
// 调试版本
debug {}
// 正式版本
release {}
}
// 代码警告配置
lintOptions {
// 禁用文本硬编码警告
disable 'HardcodedText'
// 禁用图片描述警告
disable 'ContentDescription'
}
// AOP 配置(exclude 和 include 二选一)
// 需要进行配置,否则就会引发冲突,具体表现为:
// 第一种:编译不过去,报错:java.util.zip.ZipException:Cause: zip file is empty
// 第二种:编译能过去,但运行时报错:ClassNotFoundException: Didn't find class on path: DexPathList
aspectjx {
// 排除一些第三方库的包名(Gson、 LeakCanary 和 AOP 有冲突)
// exclude 'androidx', 'com.google',
// 'com.squareup', 'org.apache',
// 'com.alipay', 'com.taobao',
// 'versions.9','com.alibaba'
// 只对以下包名做 AOP 处理
// include android.defaultConfig.applicationId
// include 'com.atmk.iot',
// 'com.atmk.base',
// 'com.atmk.iot.bz_device',
// 'com.atmk.iot.bz_statistics',
// 'com.atmk.iot.bz_login'
include 'com.atmk.*'
}
buildFeatures{
viewBinding true
dataBinding true
}
}
//afterEvaluate {
// // 前提条件是这个 Module 工程必须是 Library 类型,并且排除名为 umeng 的 Module 工程
// if (android.defaultConfig.applicationId == null && "umeng" != getName()) {
// // 排除 BuildConfig.class
// generateReleaseBuildConfig.enabled = false
// generateDebugBuildConfig.enabled = false
// }
//}
dependencies {
// 依赖 libs 目录下所有的 jar 和 aar 包
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
implementation 'junit:junit:4.13.2'
// AndroidX 库:https://github.com/androidx/androidx
implementation 'androidx.appcompat:appcompat:1.3.1'
// Material 库:https://github.com/material-components/material-components-android
implementation 'com.google.android.material:material:1.4.0'
// Kotlin 协程:https://github.com/Kotlin/kotlinx.coroutines
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0'
//lifecycle相关 全都是ktx扩展库
implementation "androidx.activity:activity-ktx:1.5.1"
implementation "androidx.fragment:fragment-ktx:1.5.1"
def lifecycleVersion="2.3.1"
implementation "androidx.lifecycle:lifecycle-livedata-core-ktx:$lifecycleVersion"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion"
}