一 問題
當(dāng)unity導(dǎo)入兩個以上package并且都有manifest配置時,unity不會自動合并而是替換。導(dǎo)致有的jar包不能用。
二 解決方法
手動合并兩個或者多個manifest.
合并中需要了解的點(diǎn)(因為不了解Android開發(fā)所以有些不是很清楚,只是嘗試下獲得的結(jié)果,望指正)
1.xml
2.manifest內(nèi)容以及合并哪些東西
manifest大致可以分為二層。
第一層manifest層包括application,use-feature,use-permission,use-sdk,meta-date,support-screens(meta-date只是一個鍵值對他可以在manifest下的任一層任意多個到時一個層級的粘到一起就行了)等子元素support-screens,application,use-sdk只能有一個其他可以有多個或者沒有。當(dāng)然可能還有其他的子元素但是不重要,合并就是把這一級的都復(fù)制粘貼放置到manifest下即可。另外比較重要的就是manifest的屬性,其中package名字很重要。他是系統(tǒng)啟用這個程序的唯一標(biāo)識。你可以從manifest中定義package,也可以從playersetting里設(shè)置packagename。但是最后以playersetting里的為準(zhǔn)。其他屬性不重要可有可無?;灸J(rèn)即可。所以合并時不用在意manifest的屬性,甚至packagename。但是如果application下的activety有用到packagename就一定得注意了。后面再說packagename。
第二層 第一層的東西都可以放到manifest下合并就可以了(除了application,use-sdk,support-screens因為這兩個所有的manifest文件都會有,而且不能有多個,所以只能拆開這兩個再合并成一個了。use-sdk定義的是可以使用的sdk的最高版本和最低版本,擴(kuò)展一下就行了把多個manifest文件中的use-sdk最低的設(shè)為最低最高的設(shè)為最高。support-screens顧名思義支持屏幕橫屏豎屏放大憑等把要支持的都放在這個下面就行了)application 下包含activety,service,reciever(當(dāng)然還有無處不在的meta-date)等這些都可以包含多個(但是只能有一個主activity,也就是由filter過濾器的那個activety)所以把a(bǔ)pplication下的這些元素都粘到一起就行了。當(dāng)然activety下有很多元素但是不用管是干嘛的把這個activety整個元素粘過去就行。
第三 和并中屬性問題因為其他都是粘貼就行的所以屬性只需注意manifest的屬性和application的屬性,一般對應(yīng)缺少粘貼重復(fù)去掉就行,具體要了解這些屬性是什么或者其他東西是什么打開下面的連接有詳細(xì)介紹(畢竟不是Android開發(fā))
最后需要注意的是activety的屬性 Android:name 這個是啟動這個activity的路徑,有的activety路徑是繼承的manifest的屬性package。一般都是完整的路徑,如果有繼承的,把那個package字符串粘過來完整這個路徑。其實(shí)如果下層的activety不用到這個package也就是說是完整的package就完全沒用。如果你不把a(bǔ)ctivety路徑完整,那你就得用原來的包名,并且playersetting也要設(shè)置的和package一樣才行。

