Android Studio Meerkat 基于Gradle Kotlin DSL如何接入ARouter

随着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.

androidxsupport 同一个类名导致的冲突,需要解决。

解决办法:

在gradle.properties加上

android.enableJetifier=true

默认是有 android.useAndroidX=true,没有的话需要加上。

一切正常ARouter就可正常使用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容