本申請(qǐng)涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種由unity到安卓(android)的封裝方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,基于互聯(lián)網(wǎng)的直播技術(shù)越來(lái)越廣泛。用戶界面(userinterface,ui)是開發(fā)直播應(yīng)用的重要環(huán)節(jié),好的ui可以提高直播效果,增進(jìn)用戶與主播之間的互動(dòng)性,提升直播房間的人氣,增加直播應(yīng)用的用戶流量。
在現(xiàn)有技術(shù)的基礎(chǔ)上,如何進(jìn)一步開發(fā)更加豐富多彩、支持更酷更炫動(dòng)畫效果的ui是開發(fā)直播應(yīng)用急需解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
面對(duì)直播應(yīng)用開發(fā)過(guò)程中急需解決的問(wèn)題,本申請(qǐng)發(fā)明人經(jīng)過(guò)反復(fù)思考和研究提出一種解決思路,即在直播應(yīng)用中融合unity,利用unity實(shí)現(xiàn)直播應(yīng)用中的ui。其中,unity是一種跨平臺(tái)可視化的游戲引擎,主要用于開發(fā)游戲。
直播應(yīng)用除了包括ui,還包括與ui互訪的底層業(yè)務(wù)邏輯。在一種應(yīng)用場(chǎng)景中,底層業(yè)務(wù)邏輯基于android實(shí)現(xiàn)?;诖?,在直播應(yīng)用中融合unity,實(shí)際上是unity與android之間的融合,這就需要解決基于android實(shí)現(xiàn)的底層業(yè)務(wù)邏輯與基于unity實(shí)現(xiàn)的ui之間互訪的問(wèn)題。
針對(duì)上述技術(shù)問(wèn)題,本申請(qǐng)實(shí)施例提供一種封裝方法及裝置,用以解決基于android實(shí)現(xiàn)的底層業(yè)務(wù)邏輯與基于unity實(shí)現(xiàn)的ui之間互訪的問(wèn)題。
本申請(qǐng)實(shí)施例提供一種由unity到android的封裝方法,包括:
在支持android的開發(fā)環(huán)境中,創(chuàng)建一模塊類型的android工程;
將unity工程中的資源文件全部復(fù)制到所述android工程中;
修改所述android工程中啟動(dòng)activity的基類為unityplayeractivity;
編譯所述android工程,以輸出繼承所述unity工程全部特性的android模塊。
在一可選實(shí)施方式中,所述將unity工程中的資源文件全部復(fù)制到所述android工程中之前,所述方法還包括:
根據(jù)界面設(shè)計(jì)需求,在支持unity的開發(fā)環(huán)境中,創(chuàng)建unity工程;
編譯所述unity工程,以輸出unity文件;
用解壓工具強(qiáng)制解壓所述unity文件,以獲得所述unity工程中的資源文件。
在一可選實(shí)施方式中,所述將unity工程中的資源文件全部復(fù)制到所述android工程中,包括:
在所述android工程的源代碼的主函數(shù)目錄下,新建一資源文件夾;
將所述unity工程中的資源文件全部復(fù)制到所述資源文件夾中。
在一可選實(shí)施方式中,所述修改所述android工程中啟動(dòng)activity的基類為unityplayeractivity,包括:
打開所述android工程的編輯界面;
通過(guò)所述編輯界面,修改所述啟動(dòng)activity的基類為unityplayeractivity。
在一可選實(shí)施方式中,所述unity工程為實(shí)現(xiàn)直播應(yīng)用的ui的工程;所述方法還包括:
創(chuàng)建所述android模塊與所述直播應(yīng)用的底層業(yè)務(wù)邏輯之間的調(diào)用關(guān)系;
根據(jù)所述android模塊和所述調(diào)用關(guān)系,開發(fā)所述直播應(yīng)用。
本申請(qǐng)實(shí)施例還提供一種由unity到android的封裝裝置,包括:
android創(chuàng)建單元,用于在支持android的開發(fā)環(huán)境中,創(chuàng)建一模塊類型的android工程;
復(fù)制單元,用于將unity工程中的資源文件全部復(fù)制到所述android工程中;
修改單元,用于修改所述android工程中啟動(dòng)activity的基類為unityplayeractivity;
android編譯單元,用于編譯所述android工程,以輸出繼承所述unity工程全部特性的android模塊。
在一可選實(shí)施方式中,所述裝置還包括:
unity創(chuàng)建單元,用于根據(jù)界面設(shè)計(jì)需求,在支持unity的開發(fā)環(huán)境中,創(chuàng)建unity工程;
unity編譯單元,用于編譯所述unity工程,以輸出unity文件;
解壓?jiǎn)卧?,用于用解壓工具?qiáng)制解壓所述unity文件,以獲得所述unity工程中的資源文件。
在一可選實(shí)施方式中,所述復(fù)制單元具體用于:
在所述android工程的源代碼的主函數(shù)目錄下,新建一資源文件夾;
將所述unity工程中的資源文件全部復(fù)制到所述資源文件夾中。
在一可選實(shí)施方式中,所述修改單元具體用于:
打開所述android工程的編輯界面;
通過(guò)所述編輯界面,修改所述啟動(dòng)activity的基類為unityplayeractivity。
在一可選實(shí)施方式中,所述unity工程為實(shí)現(xiàn)直播應(yīng)用的ui的工程;所述裝置還包括:
應(yīng)用開發(fā)單元,用于創(chuàng)建所述android模塊與所述直播應(yīng)用的底層業(yè)務(wù)邏輯之間的調(diào)用關(guān)系,以及根據(jù)所述android模塊和所述調(diào)用關(guān)系,開發(fā)所述直播應(yīng)用。
在本申請(qǐng)實(shí)施例中,在支持android的開發(fā)環(huán)境中,創(chuàng)建一模塊類型的android工程,通過(guò)將unity工程中的資源文件全部復(fù)制到android工程中,并修改android工程中啟動(dòng)activity的基類為unityplayeractivity,然后編譯android工程,以獲得繼承unity工程全部特性的android模塊,從而將unity工程封裝成android模塊,為unity與android的結(jié)合應(yīng)用提供了條件,以便于在基于android的直播應(yīng)用中融合unity,豐富直播應(yīng)用的ui。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
圖1a為本申請(qǐng)一實(shí)施例提供的由unity到android的封裝方法的流程示意圖;
圖1b為本申請(qǐng)一實(shí)施例提供的在android工程的源代碼的主函數(shù)目錄新建資源文件夾的示意圖;
圖1c為本申請(qǐng)一實(shí)施例提供的android工程的一種編輯界面示意圖;
圖2a為本申請(qǐng)另一實(shí)施例提供的由unity到android的封裝方法的流程示意圖;
圖2b為本申請(qǐng)另一實(shí)施例提供的強(qiáng)制解壓unity文件得到的文件目錄的示意圖;
圖3為本申請(qǐng)又一實(shí)施例提供的由unity到安卓的封裝裝置的結(jié)構(gòu)示意圖;
圖4為本申請(qǐng)又一實(shí)施例提供的由unity到安卓的封裝裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本申請(qǐng)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請(qǐng)具體實(shí)施例及相應(yīng)的附圖對(duì)本申請(qǐng)技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
為了在直播應(yīng)用中,提供更加豐富多彩、支持更酷更炫動(dòng)畫效果的ui,本申請(qǐng)發(fā)明人想到利用unity開發(fā)直播應(yīng)用的ui。unity是一種跨平臺(tái)可視化的游戲引擎,能夠開發(fā)出豐富多彩的ui,還可以開發(fā)出2d或3d的ui。因此,利用unity開發(fā)直播應(yīng)用的ui,可以解決直播應(yīng)用面臨的界面問(wèn)題。
直播應(yīng)用除了包括ui,還包括與ui層互訪的底層業(yè)務(wù)邏輯。在一種應(yīng)用場(chǎng)景中,底層業(yè)務(wù)邏輯基于android實(shí)現(xiàn)?;诖?,利用unity開發(fā)直播應(yīng)用的ui,需要解決基于android實(shí)現(xiàn)的底層業(yè)務(wù)邏輯與基于unity實(shí)現(xiàn)的ui之間互訪的問(wèn)題。
針對(duì)上述技術(shù)問(wèn)題,本申請(qǐng)發(fā)明人提供一種解決方案,主要原理是:將unity工程封裝成android模塊,從而將基于android實(shí)現(xiàn)的底層業(yè)務(wù)邏輯與基于unity實(shí)現(xiàn)的ui之間的互訪,轉(zhuǎn)換成android模塊之間的互訪。
值得說(shuō)明的是,本申請(qǐng)各實(shí)施例提供的由unity到android的封裝方法,可應(yīng)用于直播應(yīng)用,從而將實(shí)現(xiàn)直播應(yīng)用中的ui的unity工程封裝為android模塊,但并不限于直播應(yīng)用。凡是基于android的應(yīng)用與unity相結(jié)合時(shí),均可采用本申請(qǐng)實(shí)施例提供的封裝方法將其中的unity工程封裝為android模塊。
圖1a為本申請(qǐng)一實(shí)施例提供的由unity到android的封裝方法的流程示意圖。如圖1a所示,所述方法包括:
101、在支持android的開發(fā)環(huán)境中,創(chuàng)建一模塊(module)類型的android工程。
102、將unity工程中的資源文件全部復(fù)制到android工程中。
103、修改android工程中啟動(dòng)activity的基類為unityplayeractivity。
104、編譯android工程,以輸出繼承unity工程全部特性的android文件。
在步驟101中,需要在支持android的開發(fā)環(huán)境中,創(chuàng)建一module類型的android工程。
根據(jù)應(yīng)用場(chǎng)景的不同,支持android的開發(fā)環(huán)境也會(huì)有所不同。其中,可以自行搭建支持android的開發(fā)環(huán)境。自行搭建支持android的開發(fā)環(huán)境主要包括:安裝java語(yǔ)言開發(fā)工具包(javadevelopmentkit,jdk);安裝eclipse;安裝adt等操作。eclipse是一個(gè)開放源代碼的、基于java的可擴(kuò)展開發(fā)平臺(tái);adt是eclipse平臺(tái)下用來(lái)開發(fā)android應(yīng)用程序的插件?;蛘撸部梢圆捎矛F(xiàn)有的支持android的開發(fā)環(huán)境,例如,androidstudio。androidstudio是google開發(fā)的一款面向android開發(fā)者的ide,支持windows、mac、linux等操作系統(tǒng),是基于流行的java語(yǔ)言集成開發(fā)環(huán)境intellij搭建而成。
在步驟101中,所創(chuàng)建的android工程實(shí)際上是一個(gè)工程框架,并未包含任何應(yīng)用相關(guān)的內(nèi)容或邏輯,是為了封裝unity工程而創(chuàng)建。其中,應(yīng)用相關(guān)的內(nèi)容或邏輯均在unity工程中實(shí)現(xiàn)??蛇x地,在一應(yīng)用場(chǎng)景中,由unity工程實(shí)現(xiàn)的應(yīng)用相關(guān)的內(nèi)容或邏輯主要為應(yīng)用中與ui相關(guān)的內(nèi)容或邏輯,例如包括界面的布局樣式、交互方式以及輸入輸出方式等。
在步驟102中,將unity工程中的資源文件全部復(fù)制到步驟101中創(chuàng)建的android工程中,這是實(shí)現(xiàn)將unity工程封裝成android模塊的主要步驟。
可選地,unity工程主要實(shí)現(xiàn)應(yīng)用中與ui相關(guān)的內(nèi)容或邏輯,例如包括界面的布局樣式、交互方式、動(dòng)畫渲染以及輸入輸出方式等。根據(jù)具體應(yīng)用需求的不同,unity工程所實(shí)現(xiàn)的ui也會(huì)有所不同。相應(yīng)地,unity工程中的資源文件主要包括與ui相關(guān)的資源,例如圖片資源、以及樣式資源等。以直播應(yīng)用為例,unity工程中的資源文件主要包括直播間圖片、主播等級(jí)、動(dòng)畫、頻道頁(yè)或直播間頁(yè)面的樣式資源等。
可選地,在unity工程和android工程中,可以采用資源文件夾(例如assets文件夾)管理各自的資源文件。基于此,可以從unity工程的資源文件夾中拷貝unity工程中的資源文件,并全部復(fù)制到android工程的資源文件夾中。為便于區(qū)分,可將unity工程的資源文件夾稱之為a_assets,將android工程的資源文件夾稱之為b_assets。
進(jìn)一步可選地,若在創(chuàng)建android工程時(shí),并未建立其資源文件夾,則可以先在android工程的源代碼的主函數(shù)目錄下,新建一資源文件夾;然后,將unity工程中的資源文件全部復(fù)制到新建的資源文件夾中。如圖1b所示,為在android工程的源代碼的主函數(shù)目錄下新建資源文件夾的示意圖。在圖1b中,方框示出的assets文件夾即為android工程的資源文件夾。
在步驟103中,修改android工程中啟動(dòng)activity的基類為unityplayeractivity,以便于實(shí)現(xiàn)unity與android的結(jié)合。
unityplayeractivity是unity下的一個(gè)activity,是unity(例如unity3d)的加載入口。通過(guò)unityplayeractivity可以加載unity工程實(shí)現(xiàn)的一切功能,例如模型、動(dòng)畫渲染等。
在將android工程中啟動(dòng)activity的基類修改為unityplayeractivity之后,android工程將會(huì)從unityplayeractivity開始,通過(guò)unityplayeractivity可以加載unity工程實(shí)現(xiàn)的一切功能,進(jìn)而得到一個(gè)繼承了unity工程所有特性的android工程。
可選地,可以打開android工程的編輯界面;通過(guò)該編輯界面,修改所述啟動(dòng)activity的基類為unityplayeractivity。如圖1c所示,為android工程的一種編輯界面。在圖1c所示編輯界面中,方框所示位置為修改啟動(dòng)activity的基類的代碼位置。
在步驟104中,編譯上述修改啟動(dòng)activity的基類為unityplayeractivity的android工程,以輸出一后綴為.aar的android文件。該后綴為.aar的android文件繼承了上述unity工程的全部特性,至此將unity工程封裝為一android文件。
可選地,可以采用androidstudio對(duì)修改啟動(dòng)activity的基類為unityplayeractivity的android工程進(jìn)行編譯,并輸出編譯結(jié)果,即后綴為.aar的android文件。
可選地,android工程可以采用但不限于:java語(yǔ)言。
在實(shí)際應(yīng)用中,該后綴為.aar的android文件可作為標(biāo)準(zhǔn)的android模塊,被集成到其它android工程使用。
在本實(shí)施例中,在支持android的開發(fā)環(huán)境中,創(chuàng)建一module類型的android工程,通過(guò)將unity工程中的資源文件全部復(fù)制到android工程中,并修改android工程中啟動(dòng)activity的基類為unityplayeractivity,然后編譯android工程,以獲得繼承unity工程全部特性的android模塊,從而將unity工程封裝成android模塊,為unity與android的結(jié)合應(yīng)用提供了條件,以便于在基于android的直播應(yīng)用中融合unity,豐富直播應(yīng)用的ui。
在將unity工程封裝為android文件之前,需根據(jù)應(yīng)用需求創(chuàng)建unity工程。如圖2a所示,為本申請(qǐng)另一實(shí)施例提供的由unity到android的封裝方法的流程示意圖,所述方法包括:
201、根據(jù)界面設(shè)計(jì)需求,在支持unity的開發(fā)環(huán)境中,創(chuàng)建unity工程。
202、編譯unity工程,以輸出unity文件。
203、用解壓工具強(qiáng)制解壓unity文件,以獲得unity工程中的資源文件。
204、在支持android的開發(fā)環(huán)境中,創(chuàng)建一模塊(module)類型的android工程。
205、將unity工程中的資源文件全部復(fù)制到android工程中。
206、修改android工程中啟動(dòng)activity的基類為unityplayeractivity。
207、編譯android工程,以輸出繼承unity工程全部特性的android文件。
在步驟201中,根據(jù)界面設(shè)計(jì)需求,在支持unity的開發(fā)環(huán)境中,創(chuàng)建unity工程。
其中,界面設(shè)計(jì)需求可視具體應(yīng)用而定,不同應(yīng)用的界面設(shè)計(jì)需求可以不同。該界面設(shè)計(jì)需求主要描述ui的布局樣式、動(dòng)畫渲染、交互方式以及輸入輸出方式等內(nèi)容。基于界面設(shè)計(jì)需求,可以明確需要實(shí)現(xiàn)的ui的布局樣式、動(dòng)畫渲染、交互方式以及輸入輸出方式等內(nèi)容。然后,可以在支持unity的開發(fā)環(huán)境中,創(chuàng)建unity工程。所創(chuàng)建的unity工程可實(shí)現(xiàn)滿足所述界面設(shè)計(jì)需求的ui。例如,以直播應(yīng)用為例,unity工程實(shí)現(xiàn)的ui主要包括:直播首頁(yè),首頁(yè)下的各頻道頁(yè),各頻道頁(yè)下由直播間圖標(biāo)構(gòu)成的直播間列表,直播間列表展示樣式,用戶進(jìn)入直播間的交互方式,直播間界面上的主播視頻、動(dòng)畫、虛擬禮物、用戶頭像、主播等級(jí)等展示,等等。
根據(jù)應(yīng)用的不同,支持unity的開發(fā)環(huán)境也會(huì)有所不同。其中,可以自行搭建支持unity的開發(fā)環(huán)境,具體搭建過(guò)程可參照現(xiàn)有unity開發(fā)環(huán)境進(jìn)行?;蛘咭部梢圆捎矛F(xiàn)有支持unity的開發(fā)環(huán)境,例如,unity5.4.1f1(64-bit)。
在步驟202中,編譯上述unity工程,以輸出unity文件。
可選地,可以采用mono2x編譯器對(duì)上述unity工程進(jìn)行編譯,以輸出cli格式的unity文件。
通常來(lái)說(shuō),編譯后輸出的unity文件會(huì)是壓縮文件,故在步驟203中,可用解壓工具強(qiáng)制解壓unity文件,以獲得unity工程中的資源文件。
可選地,可以采用7z、lzma(lempel-ziv-markovchain-algorithm的簡(jiǎn)稱)、gzip(gnuzip的縮寫)等解壓工具,強(qiáng)制解壓unity文件,以獲得圖2b所示的文件目錄。圖2b所示文件目錄中的assets文件夾為unity工程的資源文件夾,該文件夾包括unity工程的資源文件。
在獲得unity工程之后,為了將步驟201創(chuàng)建的unity工程封裝為android模塊,繼續(xù)執(zhí)行步驟204-步驟207。
在步驟204中,在支持android的開發(fā)環(huán)境中,創(chuàng)建一module類型的android工程。該android工程實(shí)際上是一個(gè)工程框架,并未包含任何應(yīng)用相關(guān)的內(nèi)容或邏輯,是為了封裝unity工程而創(chuàng)建。其中,應(yīng)用相關(guān)的內(nèi)容或邏輯均在unity工程中實(shí)現(xiàn)。可選地,在一應(yīng)用場(chǎng)景中,由unity工程實(shí)現(xiàn)的應(yīng)用相關(guān)的內(nèi)容或邏輯主要為應(yīng)用中與ui相關(guān)的內(nèi)容或邏輯,例如包括界面的布局樣式、交互方式以及輸入輸出方式等。
在步驟205中,將unity工程中的資源文件全部復(fù)制到步驟204中創(chuàng)建的android工程中??蛇x地,可以從unity工程的資源文件夾中拷貝unity工程中的資源文件,并全部復(fù)制到android工程的資源文件夾中。
在步驟206中,修改android工程中啟動(dòng)activity的基類為unityplayeractivity,以便于實(shí)現(xiàn)unity與android的結(jié)合。unityplayeractivity是unity下的一個(gè)activity,是unity(例如unity3d)的加載入口。將android工程中啟動(dòng)activity的基類修改為unityplayeractivity之后,android工程將會(huì)從unityplayeractivity開始,通過(guò)unityplayeractivity可以加載unity工程實(shí)現(xiàn)的一切功能,進(jìn)而得到一個(gè)繼承了unity工程所有特性的android工程。
在步驟207中,編譯上述修改啟動(dòng)activity的基類為unityplayeractivity的android工程,以輸出一后綴為.aar的android文件。該后綴為.aar的android文件可作為標(biāo)準(zhǔn)的android模塊,被集成到其它android工程使用。
在本實(shí)施例中,首先根據(jù)應(yīng)用中的界面設(shè)計(jì)需求,在支持unity的開發(fā)環(huán)境中,創(chuàng)建一個(gè)可以實(shí)現(xiàn)所需ui的unity工程;然后在支持android的開發(fā)環(huán)境中,創(chuàng)建一module類型的android工程,通過(guò)將unity工程中的資源文件全部復(fù)制到android工程中,并修改android工程中啟動(dòng)activity的基類為unityplayeractivity,然后編譯android工程,以獲得繼承unity工程全部特性的android模塊,從而將unity工程封裝成android模塊,為unity與android的結(jié)合應(yīng)用提供了條件,以便于在基于android的直播應(yīng)用中融合unity,豐富直播應(yīng)用的ui。
以上述由unity到android的封裝方法為基礎(chǔ),在直播應(yīng)用中,可采用unity開發(fā)直播應(yīng)用中的ui層,然后采用上述實(shí)施例提供的方法將unity開發(fā)的直播應(yīng)用的ui層封裝成android文件,并嵌入基于android開發(fā)的直播應(yīng)用中,創(chuàng)建所述android文件與直播應(yīng)用的底層業(yè)務(wù)邏輯之間的調(diào)用關(guān)系;根據(jù)所述android文件和所述調(diào)用關(guān)系,開發(fā)直播應(yīng)用,從而得到一種界面內(nèi)容和樣式更加豐富,且可以支持更酷更炫動(dòng)畫,甚至支持3d效果的直播應(yīng)用。
需要說(shuō)明的是,上述實(shí)施例所提供方法的各步驟的執(zhí)行主體均可以是同一設(shè)備,或者,該方法也由不同設(shè)備作為執(zhí)行主體。比如,步驟101至步驟104的執(zhí)行主體可以為設(shè)備a;又比如,步驟101和102的執(zhí)行主體可以為設(shè)備a,步驟103和104的執(zhí)行主體可以為設(shè)備b;等等。
圖3為本申請(qǐng)又一實(shí)施例提供的由unity到安卓的封裝裝置的結(jié)構(gòu)示意圖。如圖3所示,裝置包括:android創(chuàng)建單元31、復(fù)制單元32、修改單元33和android編譯單元34。
android創(chuàng)建單元31,用于在支持android的開發(fā)環(huán)境中,創(chuàng)建一模塊類型的android工程。
復(fù)制單元32,用于將unity工程中的資源文件全部復(fù)制到android創(chuàng)建單元31所創(chuàng)建的android工程中。
修改單元33,用于修改android創(chuàng)建單元31所創(chuàng)建的android工程中啟動(dòng)activity的基類為unityplayeractivity。
android編譯單元34,用于編譯修改單元33修改后的android工程,以輸出繼承unity工程全部特性的android文件。
在一可選實(shí)施方式中,如圖4所示,裝置還包括:unity創(chuàng)建單元41、unity編譯單元42和解壓?jiǎn)卧?3。
unity創(chuàng)建單元41,用于根據(jù)界面設(shè)計(jì)需求,在支持unity的開發(fā)環(huán)境中,創(chuàng)建unity工程。
unity編譯單元42,用于編譯unity創(chuàng)建單元41所創(chuàng)建的unity工程,以輸出unity文件。
解壓?jiǎn)卧?3,用于用解壓工具強(qiáng)制解壓unity編譯單元42輸出的unity文件,以獲得unity工程中的資源文件。
在一可選實(shí)施方式中,復(fù)制單元32具體用于:在android工程的源代碼的主函數(shù)目錄下,新建一資源文件夾;將unity工程中的資源文件全部復(fù)制到資源文件夾中。
在一可選實(shí)施方式中,修改單元33具體用于:打開android工程的編輯界面;通過(guò)編輯界面,修改啟動(dòng)activity的基類為unityplayeractivity。
在一可選實(shí)施方式中,unity工程為實(shí)現(xiàn)直播應(yīng)用的ui的工程。裝置還包括:應(yīng)用開發(fā)單元,用于創(chuàng)建android文件與直播應(yīng)用的底層業(yè)務(wù)邏輯之間的調(diào)用關(guān)系,以及根據(jù)android文件和調(diào)用關(guān)系,開發(fā)直播應(yīng)用。
本實(shí)施例提供的由unity到android的封裝裝置,可執(zhí)行上述方法實(shí)施例的流程,其工作流程在此不再贅述。
本實(shí)施例提供的由unity到android的封裝裝置,在支持android的開發(fā)環(huán)境中,創(chuàng)建一模塊類型的android工程,通過(guò)將unity工程中的資源文件全部復(fù)制到android工程中,并修改android工程中啟動(dòng)activity的基類為unityplayeractivity,然后編譯android工程,以獲得繼承unity工程全部特性的android模塊,從而將unity工程封裝成android模塊,為unity與android的結(jié)合應(yīng)用提供了條件,以便于在基于android的直播應(yīng)用中融合unity,豐富直播應(yīng)用的ui。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(rom)或閃存(flashram)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram)、其他類型的隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問(wèn)的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號(hào)和載波。
還需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
以上所述僅為本申請(qǐng)的實(shí)施例而已,并不用于限制本申請(qǐng)。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的權(quán)利要求范圍之內(nèi)。