標籤:知新樹 寧金峰
接入Android SDK流程分為以下四步:
1.寫Android Activity檔案 與 unity的調用java介面(AndroidJavaClass/AndroidJavaObject)
2.Android java代碼寫完後,打包成JAR包
3.copy Android工程到Unity
4.Android回調Unity(UnityPlayer.UnitySendMessage)
一、寫Android Activity檔案 與 unity的調用java介面
Android Activity檔案有兩種方式:
1. 繼承 UnityPlayerActivity
Android java代碼
650) this.width=650;" src="https://s5.51cto.com/oss/201711/03/d315f7938276dc5150bf8c5d06068d89.png-wh_500x0-wm_3-wmp_4-s_1422347279.png" title="圖片1.png" alt="d315f7938276dc5150bf8c5d06068d89.png-wh_" />
unity的調用
650) this.width=650;" src="https://s2.51cto.com/oss/201711/03/f0a2725563a9b4009b2bba08c58a5cfa.png-wh_500x0-wm_3-wmp_4-s_3712839070.png" title="圖片2.png" alt="f0a2725563a9b4009b2bba08c58a5cfa.png-wh_" />
AndroidJavaObject對應Java的基類Object,通過這個類,可以在Unity中直接通過類名構造Android中的Java類,一般我們使用該類進行Android代碼調用
AndroidJavaClass繼承於AndroidJavaObject,與其之間的關係等價於Java中Object與Class的關係,一個是類的執行個體,一個是類的類型
2. 使用Unity本身正在使用的當前Activity
Android java代碼
小米的sdk不要求我們建立獨立的Activity,所以我們直接使用Unity本身正在使用的當前Activity,只是請注意,一定要使用runOnUiThread來調用,否則可能會出現調用不到的情況。
650) this.width=650;" src="https://s4.51cto.com/oss/201711/03/38bb40f24dedfc97b45181b2fe9f3a6e.png-wh_500x0-wm_3-wmp_4-s_797531056.png" title="圖片3.png" alt="38bb40f24dedfc97b45181b2fe9f3a6e.png-wh_" />
unity的調用
650) this.width=650;" src="https://s1.51cto.com/oss/201711/03/68bc9d8d3047a8ac0b76f16706a7e705.png-wh_500x0-wm_3-wmp_4-s_3257622379.png" title="圖片4.png" alt="68bc9d8d3047a8ac0b76f16706a7e705.png-wh_" />
二、
Android java代碼寫完後,打包成JAR包
方式1:下面我們學習如何在Unity中去調用它。首先Build一下當前的Eclipse工程,代碼所有的.class檔案都產生在了Android工程的bin檔案夾中,當前工程的路徑是UnityTestActivity->bin->classes->com->xys->你的.class檔案。下面需要對這些.class檔案進行打包,蘋果系統的話開啟電腦的終端,cd到classes檔案夾的目錄下,接著執行代碼jar -cvf class.jar *這行代碼的意思是把目前的目錄下的所有.class檔案打包成.jar檔案,儲存檔案名稱為class.jar在上訴步驟中有一點尤為重要,==就是當你在產生jar包之前請一定要確認你要產生的路徑下有沒有R開頭的class檔案==
例如這些R檔案,這些R開頭的檔案可能會導致你Unity發安卓包失敗,因為在Unity本身內建的classer.jar包裡面是有R檔案的,它會和你的這些R檔案衝突。
三、
copy Android工程到unity1.將Android工程中的res、asset copy到Assets\Plugins\Android
2.將JAR包和對應SDK的jar copy到Assets\Plugins\Android\bin
3.設定AndroidManifest.xml
四:Android回調unity
650) this.width=650;" src="https://s4.51cto.com/oss/201711/03/614172068da891a76905c0cb895dfbf9.png-wh_500x0-wm_3-wmp_4-s_3392832867.png" title="圖片5.png" alt="614172068da891a76905c0cb895dfbf9.png-wh_" />
第一個參數是Game Object對象,所以需要在遊戲對象上綁定指令碼。
第二個參數是unity中定義的方法名。
第三個參數是定義方法的參數(可空)。
本文出自 “13233523” 部落格,請務必保留此出處http://13243523.blog.51cto.com/13233523/1978713
Unity 接入Android SDK-小米sdk