-
Notifications
You must be signed in to change notification settings - Fork 13
依赖配置(字节码加载)
xiaojinzi123 edited this page Jan 11, 2024
·
4 revisions
!!! 重要警告, 不支持 ksp 的增量更新, 所以一定一定要禁止, 因为这玩意默认是开启的。。。 Google 官方的 Room 的 ksp 是支持的, 我研究了好几天也没看出来.
# 禁用 ksp 增量更新
ksp.incremental=false
KComponent 依赖和配置
最新版本为: 下面所有的 都使用最新的版本号代替 比如使用 v1.0.0 代替
请先添加依赖仓库:
maven { url 'https://jitpack.io' }
implementation 'com.github.xiaojinzi123.KComponent:kcomponent:<Version>'
implementation 'com.github.xiaojinzi123.KComponent:kcomponent-rx:<Version>'
// ksp 的插件请自行引入, 这里才可以使用 ksp
// 在 Gradle 文件中的 dependencies {} 中配置
ksp "com.github.xiaojinzi123.KComponent:kcomponent-compiler:<Version>"
// ksp 的插件请自行引入, 这里才可以使用 ksp
android {
}
dependencies {
}
ksp {
arg("ModuleName", "这里填写你模块的名字")
}
在项目顶层的 Gradle 文件中声明插件的地址:
buildscript {
dependencies {
classpath "com.github.xiaojinzi123.KComponent:kcomponent-plugin:<Version>"
}
}
在壳 App 的 Gradle 文件中使用此插件
apply plugin: 'com.android.application'
apply plugin: 'com.xiaojinzi.kcomponent.plugin' // 最好就排在 application 插件后面
或者
plugins {
id 'com.android.application'
id 'com.xiaojinzi.kcomponent.plugin' // 最好就排在 application 插件后面
}
class App : Application() {
override fun onCreate() {
Component.init(
application = this,
isDebug = BuildConfig.DEBUG,
config = Config.Builder()
.optimizeInit(isOptimizeInit = true)
.autoRegisterModule(isAutoRegisterModule = true)
.build()
)
}
}