大家好,我是佛系工程師☆恬靜的小魔龍☆,不定時更新Unity開發技巧。
一、前言
這篇文章主要講的是如何使用Android Studio與Unity的互動通信。主要内容有如何在Android Studio建立工程,如何設定,以及如何導出。以及在Unity調用Android的方法。
二、參考資料
- Unity與Android通信 https://blog.csdn.net/qq_33747722/article/details/53390198
- Unity和Android互相通信 https://blog.csdn.net/qq_15267341/article/details/51961665
- [Unity][安卓]Unity和Android Studio 3.0 互動通訊(1)Android Studio 3.0 設定 https://blog.csdn.net/bulademian/article/details/78387461
三、目錄
- 建立Android項目
- 建立Android模闆Module
- 導入加載jar檔案
- 修改AndroidMainfest.xml檔案
- 修改MainActivity檔案
- 編譯建構項目
- 導入Unity
- Unity調用Android項目方法
四、正文
1、建立Android項目
Fiele->New->New Project
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAjM2EzLcd3LcJzLcJzdllmVldWYtl2Pn5GcuYGZ2ADN1QTMxITM2YmY4YTOwI2MzEWM1cDNjV2MjRDZvwVO2ADNwAjMtUGall3LcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.png)
點選 FINISH 按鈕,建立工程。
2、建立Android模闆Module
右鍵項目 New->Module
選擇Android Library
這個地方可以設定子產品的名字
點選Finsh就可以了
如果不小心寫錯子產品名字了,想删除了,就右鍵 Open Module Settings
删除就行了
3、導入加載外部jar檔案
這個有三種加載外部jar檔案的方法,這邊隻采用第一種,剩餘方法可以參考我另一篇文章。 【Android Studio】導入外部jar包【https://blog.csdn.net/q764424567/article/details/85231151】 切換到Project視圖
找到libs檔案夾
将你自己要使用的jar包拖進去(複制粘貼也行)
右擊Jar檔案,點選Add As Library後,在出現的彈出框點選确定即可
添加成功 導入成功的jar包
打開build.gradle檔案,可以看到最後一行添加成功的代碼
4、将Unity的classes.jar加載到項目中去
classes.jar這個檔案,直接可以在Unity的安裝目錄中搜尋,找到之後複制粘貼到項目的libs檔案中
OK了
5、 建立MainActivity
切換到Android視圖,然後展開unity_exchange->java->右鍵第一個檔案夾
不做任何 處理,點選 FINISH 按鈕後。
就建立了MainActivity ,右邊是初始腳本。
6、修改AndroidMainfest.xml檔案
1.先把unity_exchange下面res檔案夾中的layout下面的activity_main_xml删除
如果有報錯
就把MainActivity.java腳本中的
這一行注釋掉
2.修改unity_exchange目錄下的mainfests檔案中的AndroidManifest.xml
打開app目錄下的manifests檔案夾中的AndroidManifest.xml
複制這一段代碼
粘貼到unity_exchange->manifest->AndroidManifest.xml
7、修改MainActivity檔案
這個時候,如下所示。
改為如下所示。
下面就是在Android中編寫Unity要調用的方法了,例如我這裡隻寫一個簡單的兩數求和的方法:
8、編譯建構項
1.編譯 選中 unity_exchange 點選build -- Make Module 'unityexchange'
等待一下,就會顯示如下所示。如果沒有,就重新試幾次。
使用 Build -- Make Project 或者 Build -- Rebuild Project 重新編譯工程。 切換到Project視圖,可以看到build檔案中有一個packaged-classes檔案夾,不同版本的Android Stuido可能檔案夾名字不一樣,百度一下就知道了
右鍵show in explorer,打開檔案夾到目前目錄
2.把classes.jar移動到libs檔案夾中
3.将AndroidManifest.xml和res檔案夾,複制到這個檔案夾中 AndroidManifest.xml在
9、導入Unity
建立Unity工程 在工程目錄建立Plugins->Android 然後将上圖中的3個檔案複制過來
10、Unity調用Android項目方法
1.建立test1.cs挂載在Main Camera上面
2.編寫代碼
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class test1 : MonoBehaviour
{
private Transform cantrans;//Canvas
private Text text;//text
private Button button;//按鈕
private AndroidJavaObject jo = null;
private InputField input1;
private InputField input2;
void Start()
{
//固定寫法
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
cantrans = GameObject.Find("Canvas").transform;
text = cantrans.Find("Text").GetComponent<Text>();
button = cantrans.Find("Button").GetComponent<Button>();
input1 = cantrans.Find("InputField").GetComponent<InputField>();
input2 = cantrans.Find("InputField2").GetComponent<InputField>();
button.onClick.AddListener(OnClick);
}
//按鈕方法
public void OnClick()
{
text.text = "";
int res = jo.Call<int>("Add", int.Parse(input1.text), int.Parse(input2.text));
text.text = res.ToString();
}
}
複制
3.制作UI
4.打包釋出
複制AndroidManifest.xml中這一行代碼
粘貼到這裡
釋出,運作