最近在研究Android組件化開發,先來說說組件化的好處。好處有以下幾點:
1.避免重復造輪子,可以節省開發和維護成本。
2.可以通過組件和模塊為業務基准合理安排人力,提高開發效率。
3.不同的項目可以共用一個組件和模塊,確保整體技術方案的統一性。
4.為未來插件化共用一套底層模型做准備。
今天使用阿里巴巴的Arouter路由框架開發的時候,遇到:ARouter::Compiler >>> No module name, for more information, look at gradle log.
這里記錄一下起因和解決方案。
起因以及解決辦法
組件化是多個組件或者模塊組成的,我們通過ARouter實現每個組件或者模塊的銜接,我們要在每一個組件或者模塊當中定義組件或者模塊名字。ARouter給出的示范是在組件或者模塊的build.gradle
文件中添加一下代碼
android { defaultConfig { ... javaCompileOptions { annotationProcessorOptions { arguments = [AROUTER_MODULE_NAME: project.getName()] } } } }
出現ARouter::Compiler >>> No module name, for more information, look at gradle log.的原因就是有一個組件或者模塊沒有添加上面的代碼。仔細檢查了一下,發現我的基礎模塊沒有添加這段代碼,添加進去運行就可以了。
希望我的這篇博客對使用組件化開發的小伙伴們有幫助。推廣一下我微信公眾號,我會經常更新一下技術干貨或者開發踩坑歷程,歡迎大家關注我!