2020-08-14

Kotlin与Java混编模式下,使用Arouter及ButterKnife问题

最近在对项目中模块进行Kotlin改造时,遇到以下几个问题,特此记录,希望帮到大家

https://blog.csdn.net/xych45/article/details/104648728/

1. 当*.kt 后缀的Activity上使用@Router(path =xxxxx)时候遇到No match path

  1. 添加apply plugin: 'kotlin-kapt'
  2. 替换以下内容

//        原有方式

//        javaCompileOptions { 

//            annotationProcessorOptions { 

//                arguments = [AROUTER_MODULE_NAME: project.name] 

//            } 

//        }

 

//     新方式

        kapt {

            arguments {

                arg("AROUTER_MODULE_NAME", project.name)

            }

        }

    }

  1. 修改dependencies中内容,改为kapt com.alibaba:arouter-compiler:x.x.x

以上三步即可解决找不到路径的问题

2. 原有.java后缀的Activty、Fragment报空指针NullPointerException,排查是ButterKnife出了问题

针对此问题,只需将annotationProcessor com.jakewharton:butterknife-compiler:x.x.x
改为apt com.jakewharton:butterknife-compiler:x.x.x即可

3. 最终App级build.gradle文件如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值