Android ARouter 集成 注意点(Kotlin)

相关配置 及引用版本

  • Arouter 版本配置
#Arouter
arouter_group=com.alibaba
arouter_api_version=1.3.1
arouter_compiler_version=1.1.4
arouter_register_version=1.0.2

  • 项目Gradle
        ...
apply plugin: 'com.alibaba.arouter'

buildscript {
         ...
    dependencies {
         ...

        classpath "$kotlin_group:kotlin-gradle-plugin:$kotlin_version"
        classpath "$arouter_group:arouter-register:$arouter_register_version"

         ...
    }
}

...
  • Module 的 gradle 配置
apply plugin: 'com.android.library'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-kapt'

      ...

kapt {
    arguments {
        arg("moduleName", project.getName())
    }
}

dependencies {
    ...

    //ARouter
    api "$arouter_group:arouter-api:$arouter_api_version"
    kapt "$arouter_group:arouter-compiler:$arouter_compiler_version"

    ...
}

注意点:

1.使用@Autowired 注解时, 必须要在对应的Activity中 调用 ARouter.getInstance().inject(this);
2.Kotlin 代码编写的项目 在 @Autowired 标注的变量上, 还需要添加注解 @JvmField

示例代码

@Route(path = ICommBizConstants.IRouter.PATH_RELATE_INFO)
class RelatedInfoActivity : BaseActivity() {

    @JvmField
    @Autowired(name = ICommBizConstants.IParams.PARAMS_REQ_ID)
    var reqId: String? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        ARouter.getInstance().inject(this);

    }
}

排查点:

1.清理本地缓存,然后重新编译(大部分情况都是缓存的问题)
2.App层 是否引入了对应的module
3.检查build->generated->source->apt(kapt)是否生成了对应的映射
4.检查每个gradle 中是否正确配置了 相应库的 引用.
5.检查 moduleName 是否正确配置
6.检查 不同module 中 activity 或者 fragment 的path 或者 group 是否有错误
7.检查使用 @Autowired标示的变量,是否是在 ARouter.getInstance().inject(this); 之前调用的(Activity 封装过的 特别要注意)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 组件化 模块化、组件化与插件化 在项目发展到一定程度,随着人员的增多,代码越来越臃肿,这时候就必须进行模块化的拆分...
    silentleaf阅读 4,974评论 2 12
  • 1. App项目组件化 做移动开发的同学都会发现这两年在移动开发圈子里最火的就是组件化了,组件化不同的实现方案也引...
    monkey01阅读 10,705评论 6 56
  • 作为一名大二的学长学姐,想要在这里给已经成为新生的你们提供一些简单的帮助,并且这让我感到荣幸。 你们初来乍到一个陌...
    会发声的知了阅读 417评论 0 1
  • 还没结婚的时候,小樱就知道阿峰有个红颜知己的好朋友,那个女孩叫小A,是他的小学同学,已经结婚了,用阿峰的话说,她们...
    陶都小爱阅读 467评论 8 1
  • 石林历来就有“天下第一奇观”的美称。 一进入景区,眼前的美景马上把我吸引住了。奇峰怪石,纵横交错,绿树红花,相互映...
    魔道之玉阅读 541评论 0 0