一 問(wèn)題
當(dāng)unity導(dǎo)入兩個(gè)以上package并且都有manifest配置時(shí)奢米,unity不會(huì)自動(dòng)合并而是替換。導(dǎo)致有的jar包不能用纠永。
二 解決方法
手動(dòng)合并兩個(gè)或者多個(gè)manifest.
合并中需要了解的點(diǎn)(因?yàn)椴涣私釧ndroid開(kāi)發(fā)所以有些不是很清楚鬓长,只是嘗試下獲得的結(jié)果,望指正)
1.xml
2.manifest內(nèi)容以及合并哪些東西
manifest大致可以分為二層尝江。
第一層manifest層包括application涉波,use-feature,use-permission茂装,use-sdk,meta-date怠蹂,support-screens(meta-date只是一個(gè)鍵值對(duì)他可以在manifest下的任一層任意多個(gè)到時(shí)一個(gè)層級(jí)的粘到一起就行了)等子元素support-screens,application,use-sdk只能有一個(gè)其他可以有多個(gè)或者沒(méi)有。當(dāng)然可能還有其他的子元素但是不重要少态,合并就是把這一級(jí)的都復(fù)制粘貼放置到manifest下即可。另外比較重要的就是manifest的屬性易遣,其中package名字很重要彼妻。他是系統(tǒng)啟用這個(gè)程序的唯一標(biāo)識(shí)。你可以從manifest中定義package,也可以從playersetting里設(shè)置packagename侨歉。但是最后以playersetting里的為準(zhǔn)屋摇。其他屬性不重要可有可無(wú)∮牡耍基本默認(rèn)即可炮温。所以合并時(shí)不用在意manifest的屬性,甚至packagename牵舵。但是如果application下的activety有用到packagename就一定得注意了柒啤。后面再說(shuō)packagename。
第二層 第一層的東西都可以放到manifest下合并就可以了(除了application畸颅,use-sdk担巩,support-screens因?yàn)檫@兩個(gè)所有的manifest文件都會(huì)有,而且不能有多個(gè)没炒,所以只能拆開(kāi)這兩個(gè)再合并成一個(gè)了涛癌。use-sdk定義的是可以使用的sdk的最高版本和最低版本,擴(kuò)展一下就行了把多個(gè)manifest文件中的use-sdk最低的設(shè)為最低最高的設(shè)為最高送火。support-screens顧名思義支持屏幕橫屏豎屏放大憑等把要支持的都放在這個(gè)下面就行了)application 下包含activety,service,reciever(當(dāng)然還有無(wú)處不在的meta-date)等這些都可以包含多個(gè)(但是只能有一個(gè)主activity拳话,也就是由filter過(guò)濾器的那個(gè)activety)所以把a(bǔ)pplication下的這些元素都粘到一起就行了。當(dāng)然activety下有很多元素但是不用管是干嘛的把這個(gè)activety整個(gè)元素粘過(guò)去就行种吸。
第三 和并中屬性問(wèn)題因?yàn)槠渌际钦迟N就行的所以屬性只需注意manifest的屬性和application的屬性弃衍,一般對(duì)應(yīng)缺少粘貼重復(fù)去掉就行,具體要了解這些屬性是什么或者其他東西是什么打開(kāi)下面的連接有詳細(xì)介紹(畢竟不是Android開(kāi)發(fā))
最后需要注意的是activety的屬性 Android:name 這個(gè)是啟動(dòng)這個(gè)activity的路徑骨稿,有的activety路徑是繼承的manifest的屬性package笨鸡。一般都是完整的路徑,如果有繼承的坦冠,把那個(gè)package字符串粘過(guò)來(lái)完整這個(gè)路徑形耗。其實(shí)如果下層的activety不用到這個(gè)package也就是說(shuō)是完整的package就完全沒(méi)用。如果你不把a(bǔ)ctivety路徑完整辙浑,那你就得用原來(lái)的包名激涤,并且playersetting也要設(shè)置的和package一樣才行。