unity當兩個以上Android插件沖突,怎么配置manifest


 

https://my.oschina.net/u/3332153/blog/855798

一 問題 

    當unity導入兩個以上package並且都有manifest配置時,unity不會自動合並而是替換。導致有的jar包不能用。

二 解決方法

   手動合並兩個或者多個manifest

三 合並中需要了解的點(因為不了解Android開發所以有些不是很清楚,只是嘗試下獲得的結果,望指正)

     1.xml

     2.manifest內容以及合並哪些東西

     manifest大致可以分為二層。第一層manifest層包括application,use-feature,use-permission,use-sdk,meta-date,support-screens(meta-date只是一個鍵值對他可以在manifest下的任一層任意多個到時一個層級的粘到一起就行了)等子元素support-screens,application,use-sdk只能有一個其他可以有多個或者沒有。當然可能還有其他的子元素但是不重要,合並就是把這一級的都復制粘貼放置到manifest下即可。另外比較重要的就是manifest的屬性,其中package名字很重要。他是系統啟用這個程序的唯一標識。你可以從manifest中定義package,也可以從playersetting里設置packagename。但是最后以playersetting里的為准。其他屬性不重要可有可無。基本默認即可。所以合並時不用在意manifest的屬性,甚至packagename。但是如果application下的activety有用到packagename就一定得注意了。后面再說packagename。

     第二層 第一層的東西都可以放到manifest下合並就可以了(除了application,use-sdk,support-screens因為這兩個所有的manifest文件都會有,而且不能有多個,所以只能拆開這兩個再合並成一個了。use-sdk定義的是可以使用的sdk的最高版本和最低版本,擴展一下就行了把多個manifest文件中的use-sdk最低的設為最低最高的設為最高。support-screens顧名思義支持屏幕橫屏豎屏放大憑等把要支持的都放在這個下面就行了)application 下包含activety,service,reciever(當然還有無處不在的meta-date)等這些都可以包含多個(但是只能有一個主activity,也就是由filter過濾器的那個activety)所以把application下的這些元素都粘到一起就行了。當然activety下有很多元素但是不用管是干嘛的把這個activety整個元素粘過去就行。

    第三 和並中屬性問題因為其他都是粘貼就行的所以屬性只需注意manifest的屬性和application的屬性,一般對應缺少粘貼重復去掉就行,具體要了解這些屬性是什么或者其他東西是什么打開下面的連接有詳細介紹(畢竟不是Android開發)

http://blog.csdn.net/aiyan1111111/article/details/52858003

  最后需要注意的是activety的屬性 Android:name 這個是啟動這個activity的路徑,有的activety路徑是繼承的manifest的屬性package。一般都是完整的路徑,如果有繼承的,把那個package字符串粘過來完整這個路徑。其實如果下層的activety不用到這個package也就是說是完整的package就完全沒用。如果你不把activety路徑完整,那你就得用原來的包名,並且playersetting也要設置的和package一樣才行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM