随着Android Studio版本的升级迭代,基于Gradle Kotlin DSL的管理构建 Gradle 替换了原来的Gradle Groovy DSL管理,其语法结构也有所变化,基于Gradle Groovy DSL接入ARouter的信息网络上一大堆,但是build.gradle.kts的接入很少,接入可能会遇到各种问题,在此做个汇总,按步骤接入即可。
一、导入依赖地址
[ARouter github官网] https://github.com/alibaba/ARouter
implementation("com.alibaba:arouter-api:1.5.2")
kapt("com.alibaba:arouter-compiler:1.5.2")
发现kapt报错,需要插件kapt
二、添加插件
文件地址:libs.versions.toml

插件地址
内容如下:
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kapt" }
kapt = "1.9.0"
导入插件

导入配置插件kapt
alias(libs.plugins.kotlin.kapt)
三、添加配置

配置
javaCompileOptions {
annotationProcessorOptions {
arguments["AROUTER_MODULE_NAME"] = project.name
}
}
四、初始化
初始化使用和以前无差别,不在赘述。
大坑
编译通过,运行各种错误
Manifest各种冲突报错

error
Caused by: java.lang.RuntimeException: Manifest merger failed with multiple errors, see logs
可以通过如下命令查看Manifest 具体的冲突
./gradlew processDebugManifest -stacktrace
报错
> Task :app:processDebugMainManifest FAILED
[androidx.versionedparcelable:versionedparcelable:1.1.1] C:\Users\Administrator\.gradle\caches\8.12\transforms\62abcfb9b0158d4389efa6e99b51fb6e\transformed\versionedparcelable-1.1.1\AndroidManifest.xml Warning:
Namespace 'androidx.versionedparcelable' is used in multiple modules and/or libraries: androidx.versionedparcelable:versionedparcelable:1.1.1, com.android.support:versionedparcelable:28.0.0. Please ensure that all modules and libraries
have a unique namespace. For more information, See https://developer.android.com/studio/build/configure-app-module#set-namespace
D:\ProjectMeerkat\MatrixTool\app\src\main\AndroidManifest.xml:28:18-86 Error:
仔细研究就是
Namespace 'androidx.versionedparcelable' is used in multiple modules and/or libraries
androidx.versionedparcelable:versionedparcelable:1.1.1
com.android.support:versionedparcelable:28.0.0.
androidx 和support 同一个类名导致的冲突,需要解决。
解决办法:
在gradle.properties加上
android.enableJetifier=true