[Unity][安卓]Unity和Android Studio 3.0 交互通信(1)Android Studio 3.0 設置

[安卓]Android Studio 3.0 JDK安卓環境配置(2017.10)

http://blog.csdn.net/bulademian/article/details/78387052


[安卓]Android Studio 3.0 安裝包說明(2017.10)

http://blog.csdn.net/bulademian/article/details/78387199


[安卓]Android Studio 3.0 安裝 後的 正常的設置的反應(2017.10)

http://blog.csdn.net/bulademian/article/details/78387367

-------------------------------------------------------------------------

主要是 根據 參考資料3 的內容。本文儘可能減小文字的 描述。參考資料1 有 一點 問題。

本文的內容須要 對照 參考資料3 來查看


創建 新的工程。





 

點擊 FINISH 按鈕,新建工程。






找到 libs 的文件路徑。右鍵 libs 文件夾,find in path 。



按 esc 按鍵 退出 find in path。

打開文件路徑。



安裝路徑下 的 UNITY 文件夾。(具體 UNITY 的設置 參考下一篇文章 參考資料2)

D:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes

classes.jar

複製粘貼 到

E:\Android\AndroidStudioProjects\UnityTest\app\libs

文件夾,以下圖所示。








正常狀況下,這裏就會有以下圖所示。





不作任何 處理,點擊 FINISH 按鈕後。

就新建了MainActivity ,右邊是初始腳本。





刪除

<activity android:name=".MainActivity"></activity>


複製初始模塊 的這個app 的 mainfests 文件夾的 AndroidMainfest.xml 文件的內容。



粘貼到 新建unity_exchage模塊 的這個unity_exchage 的 mainfests 文件夾的 AndroidMainfest.xml 文件的內容。



因爲這2個模塊 中都有 MainActivity ,原文並無 說明 是哪一個 MainActivity。所以 先 對 app 的MainActivity 進行修改。


後來發現 是 unity_exchage 的 MainActivity




import com.unity3d.player.UnityPlayerActivity;


這個時候,以下所示。


改成以下所示。




下面就是在Android中編寫Unity要調用的方法了,例如我這裏只寫一個簡單的兩數求和的方法:

//兩樹求和
public int add(int a,int b)
{
    return a+b;
}



選中 unity_exchange 點擊build -- Make Module 'unityexchange'



等待一下,就會顯示以下所示。若是沒有,就從新試幾回。



使用 Build -- Make Project 或者 Build -- Rebuild Project 從新編譯工程。

工程 下 的 unity_exchange 的 build 的 intermediates 的 bundles 的debug沒有以下圖 所示 的文件,就多 從新編譯工程幾回。



右鍵 debug 文件夾,show in explorer


使用 Build -- Make Project 或者 Build -- Rebuild Project 從新編譯工程。
而後把debug文件夾下的classes.jar文件移動到libs文件夾中,而且把libs文件夾中的class.jar文件替換掉。而後將debug文件夾下的libs文件夾、res文件夾、AndroidManifest.xml文件導入到Unity的Assets/Plugins/Android文件夾下(沒有這個文件夾需先建立)。




AndroidManifest.xml就是 以下圖所示,的01_Unity_Message3/unity_exchange/src/main/AndroidManifest.xml


若是下圖中沒有 AndroidManifest.xml  文件,就把上圖所示的AndroidManifest.xml  複製粘貼到下面。



就把 把下面這3個文件(包含   AndroidManifest.xml )複製粘貼到 以下圖所示的  Unity 的位置。

Plugins/Android/







正常 的文件 結構以下所示。從 AS3.0 導入 過來的文件,都在 Plugins-- Android 裏面




新建腳本,掛載 上 Main Camera 上。



    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;//使用 該引用,才能得到 Text 組件。
     
    public class Android_Test : MonoBehaviour {
     
        private Transform canvasTras;//UGUI的Canvas
        private Text text;//用來顯示 界面的文本
        private Button btn;//前端的按鈕
     
        private AndroidJavaObject jo = null;
     
     
     
        // Use this for initialization
        void Start () {
            //固定寫法
            AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            jo = jc.GetStatic<AndroidJavaObject>("currentActivity");//獲取當前Activity對象,即Android中的MainActivity
     
            canvasTras = GameObject.Find("Canvas").transform;
            text = canvasTras.Find("Text").GetComponent<Text>();
            btn = canvasTras.Find("Button").GetComponent<Button>();
            btn.onClick.AddListener(Click);//按鈕點擊事件監聽下面的Click()方法
     
        }
     
        //這個方法是在界面點擊按鈕的時候調用,使用的是UGUI的BUTTON組件
        public void Click()
        {
            text.text = "";//點擊的時候先清空
            int res = jo.Call<int>("add", 56, 100);//調用Android中的方法,"add"爲方法名字,56,100,分別是想加的參數
            text.text = "56 + 100的結果是:" + res.ToString();//顯示前端
        }
    }


在 Unity 的 GameObject -- UI 新建 Text 和 Button


佈局以下所示




複製 package 的名字


粘貼到這裏 的package 位置。








點擊 update android SDK。等待讀條結束,UNITY 後臺程序。





在虛擬機 ,上 測試 APK



真機測試

若是是正常的,就會 進入 程序顯示,made with unity





-------------------------------------------------------------------------

參考資料:

1.[自學總結] Unity調用 Android 接口實踐與總結(Unity5.6 和 Eclipse 及 AndroidStudio2.3.1)

http://www.manew.com/thread-103445-1-1.html

2.

[Unity][安卓]Unity和Android Studio 3.0 交互通信(2)Unity 設置

http://blog.csdn.net/bulademian/article/details/78387470

3.
Android Studio 與 Unity3d交互。概括版。
http://blog.csdn.net/ldghd/article/details/54312532

4.
Unity5與Android交互通訊(使用Android Studio2.4) 詳細操做一
http://m.blog.csdn.net/u010377179/article/details/53105062

5.

6.

7.





---------------------
做者:BuladeMian
來源:CSDN
原文:https://blog.csdn.net/bulademian/article/details/78387461
版權聲明:本文爲博主原創文章,轉載請附上博文連接!html

相關文章
相關標籤/搜索