1.unity版本: 5.4
2.android開發(fā)工具:android-studio
unity打包的項(xiàng)目集成了谷歌的vr sdk;導(dǎo)出的andriod項(xiàng)目里面包含四個(gè)文件夾,

如上圖所示,三面三個(gè)都是lib;
ok接下來我們來看下集成的步驟,很簡(jiǎn)單,比集成sdk還要簡(jiǎn)單
1.將我們已有的android項(xiàng)目打開,然后將三個(gè)依賴庫(kù)導(dǎo)入;(可以不導(dǎo)入gvr_permission..);此處需要注意,將依賴庫(kù)中的jar包名稱修改下;切記,一定要修改.
2.在已有的項(xiàng)目里面寫一個(gè)activity繼承GoogleUnityActivity即可;在onCreat()方法里面復(fù)制如下代碼即可.;此外需要將csc里面的jar包也添加到libs文件夾.(ps:如果此處unity項(xiàng)目沒有集成google vr的話,可以繼承UnityActivity)
在此activity的布局文件中寫一個(gè)線性布局,然后在onCreate()方法里面添加如下代碼;
LinearLayout addViewId= (LinearLayout) findViewById(R.id.addViewId);
getWindow().setFormat(PixelFormat.RGBX_8888);
mUnityPlayer=newUnityPlayer(this);
//? View view=mUnityPlayer.getView();
addViewId.addView(mUnityPlayer);//csc? v? ? scene_type
3.將csc里面libs文件夾里面的.so文件全部拷貝到已有工程項(xiàng)目的libs里面
4.將unity打包出來的asset文件夾下的全部?jī)?nèi)容拷貝到現(xiàn)有android項(xiàng)目的asset文件夾下
5.大功搞成,從其他activity中跳轉(zhuǎn)到此actviity即可;
另外若需要傳遞值給unity,可以調(diào)用
mUnityPlayer.UnitySendMessage("ReceiveMessage","InitUnity", json);前兩個(gè)參數(shù)和unity那邊溝通好,最后傳遞的string類型參數(shù),是一個(gè)json數(shù)據(jù)哦;
//2017年11月7日更新
傳遞數(shù)據(jù)的話,可以是直接UnityPlayer.UnitySendMessage("ReceiveMessage","InitUnityVoice",msg.custom);而不必是使用成員變量,也是前幾天才知道這個(gè)UnitySendMessage方法是一個(gè)靜態(tài)方法。
2017年11月3日,Unity中介入了騰訊語音sdk,將包打給我,集成到現(xiàn)有android項(xiàng)目中.
1先說說遇到的坑吧,Unity那邊給我的android項(xiàng)目是eclipse版本的,大家都知道開發(fā)android現(xiàn)在基本上都換成了studio;所以我們無法直接使用android-studio打開這個(gè)帶有很多庫(kù)的eclipse項(xiàng)目.
2.第二個(gè)就是,在使用的時(shí)候,我本來是想按照上面寫的步驟將語音的庫(kù)導(dǎo)入我的現(xiàn)有的android項(xiàng)目,但是發(fā)現(xiàn)不行,缺少東西.
解決方法
1.我使用File-import project項(xiàng)目的方式,打開eclipse項(xiàng)目,此時(shí)可能會(huì)出現(xiàn)問題,不過我本來也不指望能正常運(yùn)行,我只是想得到其他四個(gè)能在studio環(huán)境下使用的庫(kù),若不如此操作,其他四個(gè)庫(kù)會(huì)缺少gradle文件
2.由于之前我項(xiàng)目已經(jīng)使用了其中三個(gè)庫(kù),今天就說一下如何使用語音的庫(kù).我按照之前的方法,導(dǎo)庫(kù)進(jìn)入,然后使用發(fā)現(xiàn),語音庫(kù)里面的jar包找不到,但是編輯的時(shí)候我確實(shí)是導(dǎo)包并且調(diào)用了其中的方法,運(yùn)行項(xiàng)目的時(shí)候提示我找不到類;一陣懵逼,最后我試著不把語音庫(kù)導(dǎo)入,而是直接將其lib中的.so文件拷貝到我項(xiàng)目的.so文件,將其中的jar包拷貝到lib下,和我項(xiàng)目之前的jar包在一起使用,然后運(yùn)行,發(fā)現(xiàn)是可以正常運(yùn)行了,但是我確實(shí)不知道為什么不能像以前一樣導(dǎo)入使用.
另外,需要注意的是,我們需要在Activity中的onCreate方法中調(diào)用如下代碼
GCloudVoiceEngine.getInstance().init(getApplicationContext(),this);
開始我以為我什么都不用操作,只要導(dǎo)庫(kù)加入jar包就行了,但是沒想到,還要初始化一下語音;這里還是我剛開始集成之后Unity同事告訴我集成之后語音不行,但是我檢查了下集成是沒問題的,后來Unity同事給我語音Unity集成文檔我才發(fā)現(xiàn)了,需要我初始化,我一直以為Unity那邊集成的時(shí)候自己去初始化呢,懵逼,為什么不早點(diǎn)告訴我呢,.....