-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdependencies.gradle
231 lines (206 loc) · 12.8 KB
/
dependencies.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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
project.ext {
compileSdkVersion = 32 // 编译源码所使用的API版本
minSdkVersion = 23 // 最低兼容Android版本
targetSdkVersion = 32 // 目标版本
applicationId = "com.base.app" // 项目包名
versionCode = 1
versionName = "1.0.0"
//公用的三方库依赖,慎重引入,主要引入基础库依赖
setDependencies = {
extension ->
extension.implementation fileTree(dir: 'libs', include: ['*.jar'])
extension.testImplementation 'junit:junit:4.+'
extension.androidTestImplementation 'androidx.test.ext:junit:1.1.2'
extension.androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
// 多 dex
extension.implementation "androidx.multidex:multidex:2.0.1"
// design
extension.implementation "com.google.android.material:material:1.6.1"
// 矢量
extension.implementation "androidx.vectordrawable:vectordrawable:1.1.0"
extension.implementation "androidx.vectordrawable:vectordrawable-seekable:1.0.0-alpha02"
// 约束
extension.implementation "androidx.constraintlayout:constraintlayout:2.1.4"
// 旧版本API 访问新API
extension.implementation "androidx.appcompat:appcompat:1.5.0"
// 用于在交旧的平台上使用 drawables
extension.implementation "androidx.appcompat:appcompat-resources:1.5.0"
extension.implementation "androidx.cardview:cardview:1.0.0"
extension.implementation "androidx.viewpager2:viewpager2:1.1.0-beta01"
extension.implementation "androidx.recyclerview:recyclerview:1.3.0-alpha02"
// 用于控制触摸和鼠标驱动选择的项目选择
extension.implementation "androidx.recyclerview:recyclerview-selection:1.1.0"
// Android KTX
extension.implementation "androidx.core:core-ktx:1.8.0"
extension.implementation "androidx.collection:collection-ktx:1.2.0"
extension.implementation "androidx.activity:activity-ktx:1.5.1"
extension.implementation "androidx.fragment:fragment-ktx:1.5.2"
extension.implementation "androidx.navigation:navigation-ui-ktx:2.4.2"
extension.implementation "androidx.navigation:navigation-fragment-ktx:2.4.2"
extension.implementation "androidx.work:work-runtime-ktx:2.7.1"
extension.implementation "androidx.navigation:navigation-compose:2.4.2"
extension.implementation "androidx.annotation:annotation:1.5.0-alpha02"
// 生命周期管理相关
extension.implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
extension.implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.5.0-beta01"
extension.implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1"
extension.implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1"
// kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
// 不使用compiler注解,使用java8,直接实现这个接口即可DefaultLifecycleObserver
extension.implementation "androidx.lifecycle:lifecycle-common-java8:2.5.1"
extension.implementation "androidx.lifecycle:lifecycle-service:2.5.0-beta01"
extension.implementation "androidx.lifecycle:lifecycle-process:2.5.0-beta01"
extension.implementation "androidx.datastore:datastore-preferences:1.0.0"
extension.implementation "com.google.auto.service:auto-service:1.0.1"
extension.kapt "com.google.auto.service:auto-service:1.0.1"
extension.kapt 'com.alibaba:arouter-compiler:1.5.2'
extension.kapt 'com.github.bumptech.glide:compiler:4.13.2'
println("appImplementation = " + appImplementation)
//common做为中间层,所有的Module都要依赖
if (appImplementation != "common" && appImplementation != "library") {
extension.implementation extension.project(path: ':common')
}
//针对每个Module单独进行依赖
switch (appImplementation) {
case "app":
extension.implementation extension.project(path: ':views')
extension.implementation extension.project(path: ':function')
extension.implementation extension.project(path: ':utils')
break
case "common"://common组件是一个中间层,所有的组件都需要依赖此组件,公共的依赖便可放到这里
extension.api(project(':library'))
break
case "views":
break
case "function":
break
case "utils":
break
case "library":
// 网络
extension.api "com.github.liangjingkanji:Net:3.4.14"
// 适配器
extension.api "com.github.liangjingkanji:BRV:1.3.81"
// 悬浮窗
// extension.api "com.github.princekin-f:EasyFloat:2.0.4"
// 指示器
// extension.api "com.github.hackware1993:MagicIndicator:1.7.0"
// DslTabLayout
// extension.api "com.github.angcyo.DslTablayout:TabLayout:3.2.5"
// extension.api "com.github.angcyo.DslTablayout:ViewPager1Delegate:3.2.5"
// extension.api "com.github.angcyo.DslTablayout:ViewPager2Delegate:3.2.5"
// ViewBindingKTX
extension.api "com.github.DylanCaiCoding.ViewBindingKTX:viewbinding-ktx:2.1.0"
extension.api "com.github.DylanCaiCoding.ViewBindingKTX:viewbinding-base:2.1.0"
extension.api "com.github.DylanCaiCoding.ViewBindingKTX:viewbinding-brvah:2.1.0"
// 全局加载状态视图
extension.api "com.github.DylanCaiCoding.LoadingStateView:loadingstateview-ktx:4.0.1"
// Activity Result API
extension.api "com.github.DylanCaiCoding:ActivityResultLauncher:1.1.2"
// 路由
extension.api "com.alibaba:arouter-api:1.5.2"
// 权限
extension.api "com.github.getActivity:XXPermissions:15.0"
// 顶部标题栏
extension.api "com.github.getActivity:TitleBar:9.5"
// Gson 解析容错
extension.api "com.github.getActivity:GsonFactory:6.2"
// Shape 框架
extension.api "com.github.getActivity:ShapeView:8.3"
// 三角角标控件
extension.api "com.github.xiaoliang0227:TriangleView:1.0.3"
// 混淆库
// extension.api "com.github.zhaoxiuyu:Proguards:1.0.5"
// 字节跳动启动优化
// extension.api "com.bytedance.boost_multidex:boost_multidex:1.0.1"
// extension.api "me.weishu:free_reflection:3.0.1"
// SuperTextView
// extension.api "com.github.chenBingX:SuperTextView:3.2.6.99"
// RWidgetHelper : 圆角,边框,Gradient背景渐变,控件State各个状态UI样式,阴影,水波纹
extension.api "com.github.RuffianZhong:RWidgetHelper:androidx.v0.0.10"
// 侧滑
// extension.api "com.billy.android:smart-swipe-x:1.1.0"
// 沉浸式
extension.api "com.gitee.zackratos:UltimateBarX:0.8.0"
// 日历
// extension.api "com.haibin:calendarview:3.7.1"
// extension.api "com.squareup:android-times-square:1.7.11"
// 选择器
// extension.api "com.github.gzu-liyujiang.AndroidPicker:Common:4.1.9"
// extension.api "com.github.gzu-liyujiang.AndroidPicker:WheelPicker:4.1.9"
// extension.api "com.github.gzu-liyujiang.AndroidPicker:AddressPicker:4.1.9"
// extension.api "com.github.gzu-liyujiang.AndroidPicker:FilePicker:4.1.9"
// extension.api "com.github.gzu-liyujiang.AndroidPicker:ColorPicker:4.1.9"
// extension.api "com.github.gzu-liyujiang.AndroidPicker:CalendarPicker:4.1.9"
// extension.api "com.github.gzu-liyujiang.AndroidPicker:ImagePicker:4.1.9"
// livedata
extension.api "com.kunminx.arch:unpeek-livedata:7.8.0"
extension.api 'com.kunminx.arch:mvi-dispatch-ktx:7.0.2-beta'
// lottie
// extension.api "com.airbnb.android:lottie:5.2.0"
// RecyclerView 列表动画
// extension.api "jp.wasabeef:recyclerview-animators:4.0.2"
// 动画工具类
extension.api "com.github.florent37:viewanimator:1.1.2"
// Json相关
extension.api "com.google.code.gson:gson:2.9.1"
// 分割线
extension.api "ckrjfrog.FlexItemDecoration:Decoration:1.1.3"
// banner 轮播图
extension.api "io.github.youth5201314:banner:2.2.2"
// 提示框
extension.api "com.github.li-xiaojun:XPopup:2.8.9"
// View动画效果大集合
// extension.api "com.daimajia.easing:library:2.0@aar"
// extension.api "com.daimajia.androidanimations:library:2.3@aar"
// 图片
extension.api "com.github.bumptech.glide:glide:4.13.2"
extension.api "com.github.bumptech.glide:okhttp3-integration:4.11.0"
extension.api "jp.wasabeef:glide-transformations:4.3.0"
extension.api "jp.co.cyberagent.android:gpuimage:2.1.0"
// 智能刷新框架:分包之后不会有默认的Header和Footer需要手动添加!还是原来的三种方法!
// extension.api "io.github.scwang90:refresh-layout-kernel:2.0.5"
// extension.api "io.github.scwang90:refresh-header-classics:2.0.5"
// extension.api "io.github.scwang90:refresh-header-radar:2.0.5"
// extension.api "io.github.scwang90:refresh-header-falsify:2.0.5"
// extension.api "io.github.scwang90:refresh-header-material:2.0.5"
// extension.api "io.github.scwang90:refresh-header-two-level:2.0.5"
// extension.api "io.github.scwang90:refresh-footer-ball:2.0.5"
// extension.api "io.github.scwang90:refresh-footer-classics:2.0.5"
// 网络请求相关,kapt只需要扫描library即可
extension.api "com.squareup.okhttp3:okhttp:5.0.0-alpha.2"
extension.api "com.squareup.retrofit2:retrofit:2.9.0"
extension.api "com.squareup.retrofit2:adapter-rxjava3:2.9.0"
extension.api "com.squareup.retrofit2:converter-gson:2.9.0"
extension.api "com.squareup.retrofit2:converter-scalars:2.9.0"
extension.api "io.reactivex.rxjava3:rxjava:3.1.4"
extension.api "io.reactivex.rxjava3:rxandroid:3.0.0"
// 解决RxJava内存泄漏
extension.api "com.github.liujingxing.rxlife:rxlife-rxjava3:2.2.2"
// sqlite 数据库
extension.api "org.litepal.guolindev:core:3.2.3"
// 工具类 AndroidUtilCode
extension.api "com.blankj:utilcodex:1.31.0"
// MMKV
extension.api "com.tencent:mmkv-static:1.2.13"
// 协程
extension.api "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.2"
extension.api "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4"
break
}
}
// 创建了一个名为 androidVersion 类型的 map 的变量,groovy 中可以用[]来创建 map 类型。
// 那么就是一个 map 下面又创建了一个 map,且名字叫做 configs。
// androidVersion = [
// compileSdkVersion: 32, // 编译源码所使用的API版本
// minSdkVersion : 23, // 最低兼容Android版本
// targetSdkVersion : 32, // 目标版本
// versionCode : 1,
// versionName : "1.0",
// ]
// kapt = [
// "arouter-compiler": "com.alibaba:arouter-compiler:1.5.2",
// // Glide注解
// "glide-compiler" : "com.github.bumptech.glide:compiler:4.13.2",
// ]
}