1.如果你在使用組件以application的方式運行的時候离例,產(chǎn)生這個錯誤
這個錯誤的意思是磁奖,在鏈接資源的時候產(chǎn)生了未知的異常另凌。這時候你需要檢查項目的build.gradle文件惰许,所依賴的模塊批旺。由于我的總項目里面有十多個可單獨運行的module,我找到這個問題的方式是供璧,一個一個運行module存崖,直到當(dāng)我發(fā)現(xiàn)當(dāng)我在注釋這行代碼的時候,組件就可以單獨運行起來睡毒,所以我將錯誤来惧,定位到這個b_module_statistics組件。
于是將問題定位到了這個module演顾,打開這個module后供搀,我發(fā)現(xiàn)在bulid.gradle的文件中,我是這樣配置的
但是這是個統(tǒng)計組件钠至,他只是作為一個library會被其他組件引用葛虐,他沒有可以以application單獨運行的功能。所以我把判斷去掉棉钧,無論什么時候都讓他以library的方式運行挡闰。
果然去掉判斷之后,原來的項目在編譯的時候就可以運行了掰盘。
2.關(guān)于組件化的項目在配置的過程中還有很多的坑摄悯,需要去解決,比如
編譯時com.android.builder.merge.DuplicateRelativeFileException: More than one file was found with OS independent path 'META-INF/rxjava.properties'這個錯誤
需要愧捕,這樣解決
packagingOptions {
? ? ? ? ? ? exclude 'META-INF/rxjava.properties'
? ? ? ? }
3.比如kotlin項目中配置ARouter kapt
kapt {
? ? ? ? ? ? arguments {
? ? ? ? ? ? ? ? arg("AROUTER_MODULE_NAME", project.getName())
? ? ? ? ? ? }
? ? ? ? }
等等奢驯,還有其他問題歡迎留言,大家一個探討解決