組件化項(xiàng)目你可能遇到的坑

1.如果你在使用組件以application的方式運(yùn)行的時(shí)候,產(chǎn)生這個(gè)錯(cuò)誤

錯(cuò)誤截圖

這個(gè)錯(cuò)誤的意思是,在鏈接資源的時(shí)候產(chǎn)生了未知的異常。這時(shí)候你需要檢查項(xiàng)目的build.gradle文件,所依賴的模塊。由于我的總項(xiàng)目里面有十多個(gè)可單獨(dú)運(yùn)行的module,我找到這個(gè)問(wèn)題的方式是,一個(gè)一個(gè)運(yùn)行module,直到當(dāng)我發(fā)現(xiàn)當(dāng)我在注釋這行代碼的時(shí)候,組件就可以單獨(dú)運(yùn)行起來(lái),所以我將錯(cuò)誤,定位到這個(gè)b_module_statistics組件。

定位問(wèn)題

于是將問(wèn)題定位到了這個(gè)module,打開這個(gè)module后,我發(fā)現(xiàn)在bulid.gradle的文件中,我是這樣配置的


statistics組件

但是這是個(gè)統(tǒng)計(jì)組件,他只是作為一個(gè)library會(huì)被其他組件引用,他沒有可以以application單獨(dú)運(yùn)行的功能。所以我把判斷去掉,無(wú)論什么時(shí)候都讓他以library的方式運(yùn)行。

果然去掉判斷之后,原來(lái)的項(xiàng)目在編譯的時(shí)候就可以運(yùn)行了。

2.關(guān)于組件化的項(xiàng)目在配置的過(guò)程中還有很多的坑,需要去解決,比如

編譯時(shí)com.android.builder.merge.DuplicateRelativeFileException: More than one file was found with OS independent path 'META-INF/rxjava.properties'這個(gè)錯(cuò)誤

需要,這樣解決

packagingOptions {

? ? ? ? ? ? exclude 'META-INF/rxjava.properties'

? ? ? ? }

3.比如kotlin項(xiàng)目中配置ARouter kapt

kapt {

? ? ? ? ? ? arguments {

? ? ? ? ? ? ? ? arg("AROUTER_MODULE_NAME", project.getName())

? ? ? ? ? ? }

? ? ? ? }

等等,還有其他問(wèn)題歡迎留言,大家一個(gè)探討解決

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

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

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