1.如果你在使用組件以application的方式運(yùn)行的時(shí)候,產(chǎn)生這個(gè)錯(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)題定位到了這個(gè)module,打開這個(gè)module后,我發(fā)現(xiàn)在bulid.gradle的文件中,我是這樣配置的

但是這是個(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è)探討解決