Unity与Android相互通信

环境介绍:

  Android Studio 3.0 

   Gradle   3.0.0

   Unity 2017.3.0b10 personal


1、使用AS构建一个app工程


2、导入相关Unity jar到Studio

            Unity 能打包在Android 平台运行是基于UnityPlayerActivity.java 这个Activity的   源码路径E:\Program Files\Unity 2017.3.0b10\Editor\Data\PlaybackEngines\AndroidPlayer\Source\com\unity3d\player

            我们stuido 代码中需要继承它  那么就需要引入Unity的classes.jar包  路径地址E:\Program Files\Unity 2017.3.0b10\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes

                将Classes.jar 放入studio项目中


3、删掉Studio中多余的不需要的文件并主MainActivity继承 UnityPlayerActivity










4、将Android AAR集成到Unity中

aar是不能直接放到Unity中的   我们需要将aar转成rar  找到libs中的classes.jar文件删掉,因为它是unity中拷贝过来的   不能跟着一起再到unity中去不然就报冲突了, 我们将它删掉之后 然后将AndroidManifest.xml单独拷贝出来


弄好之后放到unity中

Unity 新建一个Canvas  放个button  写上脚本给Canvas我们来试试  脚本名称androidScripte (随便起)

AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");

AndroidJavaObject jo = jc.GetStatic("currentActivity");

jo.Call("showCurrentTime");


5、打包



最终效果

完毕,  点击显示则显示时间

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容