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