Android ARouter 集成 注意點(Kotlin)

相關(guān)配置 及引用版本

  • 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 注解時, 必須要在對應(yīng)的Activity中 調(diào)用 ARouter.getInstance().inject(this);
2.Kotlin 代碼編寫的項目 在 @Autowired 標(biāo)注的變量上, 還需要添加注解 @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層 是否引入了對應(yīng)的module
3.檢查build->generated->source->apt(kapt)是否生成了對應(yīng)的映射
4.檢查每個gradle 中是否正確配置了 相應(yīng)庫的 引用.
5.檢查 moduleName 是否正確配置
6.檢查 不同module 中 activity 或者 fragment 的path 或者 group 是否有錯誤
7.檢查使用 @Autowired標(biāo)示的變量,是否是在 ARouter.getInstance().inject(this); 之前調(diào)用的(Activity 封裝過的 特別要注意)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 組件化 模塊化、組件化與插件化 在項目發(fā)展到一定程度,隨著人員的增多,代碼越來越臃腫,這時候就必須進(jìn)行模塊化的拆分...
    silentleaf閱讀 5,047評論 2 12
  • 1. App項目組件化 做移動開發(fā)的同學(xué)都會發(fā)現(xiàn)這兩年在移動開發(fā)圈子里最火的就是組件化了,組件化不同的實現(xiàn)方案也引...
    monkey01閱讀 11,044評論 6 56
  • 作為一名大二的學(xué)長學(xué)姐,想要在這里給已經(jīng)成為新生的你們提供一些簡單的幫助,并且這讓我感到榮幸。 你們初來乍到一個陌...
    會發(fā)聲的知了閱讀 458評論 0 1
  • 還沒結(jié)婚的時候,小櫻就知道阿峰有個紅顏知己的好朋友,那個女孩叫小A,是他的小學(xué)同學(xué),已經(jīng)結(jié)婚了,用阿峰的話說,她們...
    陶都小愛閱讀 521評論 8 1
  • 石林歷來就有“天下第一奇觀”的美稱。 一進(jìn)入景區(qū),眼前的美景馬上把我吸引住了。奇峰怪石,縱橫交錯,綠樹紅花,相互映...
    魔道之玉閱讀 583評論 0 0

友情鏈接更多精彩內(nèi)容