1. 程式人生 > >Unity呼叫Android

Unity呼叫Android

unity5.X

androidstudio3.1.2

第一步,新建安卓工程

點finish就可以了。

新建module。

選擇Android Library。

此處Pacage name要和unity裡面的包名一致。然後點finish,等待編譯成功。

在新建的模組裡面新增空的activity。

點選finish

在Android裡面新增unity的classes包;E:\UnityEditor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Release\Classes(地址可能會有變化)

把classes複製如下位置

右鍵Add AS Library

之後會變成這個樣子

刪除layout下的佈局檔案

修改剛才新建的指令碼如下圖所示:(注意刪除

 setContentView(R.layout.activity_main);

刪除這一句

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

 

複製預設app裡面的 紅框選中的內容到新建模組的對應位置,最後如下圖所示。

Build-->Make如下圖 Build

編譯完成後如下圖幾個資料夾packaged-classes下的debug資料夾下有需要的classes檔案。

packaged_res資料夾找到values。

 

 最後找到AndroidManifest.xml檔案。

 

把以上三個檔案按照下面的層級放入unity 

 

 最後是unity程式碼:

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;

public class MessageTest : MonoBehaviour {

    Text text;

    void Start()     {            text= GameObject.Find("Text").GetComponent<Text>();                AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");         AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");         text.text = jo.Call<string>("Show");     }

}  

修改unity包名和安卓清單包名一致。

最後打包apk即可:效果如下

呼叫成功!