Unity3d项目导入到Android Studio原生项目

集成unity项目到android studio原生工程(非原生工程集成到unity),实现android和unity交互

1. Unity工程已android studio形式导出

2. Android studio已module引用方式引入导出的unity工程

Unity3d项目导入到Android Studio原生项目

3, 修改unity工程gradle文件

Unity3d项目导入到Android Studio原生项目

4. 修改unity工程AndroidManifest.xml文件

Unity3d项目导入到Android Studio原生项目

5.原生项目以module引用unity项目

6.修改主AndroidManifest.xml,添加activity节点,用于显示unity页面

Unity3d项目导入到Android Studio原生项目

用于显示unity的activity(本例ChirstmasARActivity)节点,需要添加process属性,否则将由于主线程超时造成程序闪退

Unity3d项目导入到Android Studio原生项目

Android和Unity交互: 

1. 创建用于显示unity界面的activity

Unity3d项目导入到Android Studio原生项目

2. android向unity发送消息

UnityPlayer.UnitySendMessage(“物体名”, “方法名”, “数据Stirng”)

Unity3d项目导入到Android Studio原生项目

3. unity向android发送消息,只需要在该activity下定义方法

Unity3d项目导入到Android Studio原生项目


4. 关闭打开unity的activity,需要用handler.post关闭页面

Unity3d项目导入到Android Studio原生项目


如果发布正式包混淆的请注意:

1,在原生项目混淆文件中,加上unity向activity发送消息的调用的函数保持不混淆,否则会报错,无法调用该方法

Unity3d项目导入到Android Studio原生项目

Unity3d项目导入到Android Studio原生项目


2,unity项目中包名如果有大写,否则编译的时候会报错

Unity3d项目导入到Android Studio原生项目Unity3d项目导入到Android Studio原生项目