當(dāng)我們引入aar作為項(xiàng)目的依賴時章母,由于aar一般包含資源文件茫舶,導(dǎo)致androidManifest清單文件需要合并。一般來說恤筛,編譯之前我們需要在項(xiàng)目的gradle文件中官还,加上:
<application
.....
android:theme="@style/newTheme"
tools:replace="android:theme">
同時還需要保證aar的androidManifest清單文件里面沒有上面這句話。這句話的作用是用項(xiàng)目的theme代替aar中的主題毒坛。一般的望伦,項(xiàng)目使用"@stlye/AppTheme",不會有問題煎殷,但是如果在aar中自定義了主題屯伞,運(yùn)行是就會發(fā)生布局文件就會出現(xiàn)InflateException,這是由于自定義的theme文件被合并導(dǎo)致自定義的attr無法找到豪直。
在android studio的user guide中發(fā)現(xiàn)劣摇,其實(shí)theme可以單獨(dú)定義在每個activity的聲明中,如
<activity android:name=”com.example.ActivityOne”
android:theme=”@oldtheme” />
這樣將即可解決清單文件合并時弓乙,theme被覆蓋的問題末融。