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即可:效果如下
呼叫成功!