环境介绍:
Android Studio 3.0
Gradle 3.0.0
Unity 2017.3.0b10 personal
1、使用AS构建一个app工程
![](https://img.haomeiwen.com/i8830165/2161bcd93943980f.png)
2、导入相关Unity jar到Studio
Unity 能打包在Android 平台运行是基于UnityPlayerActivity.java 这个Activity的 源码路径E:\Program Files\Unity 2017.3.0b10\Editor\Data\PlaybackEngines\AndroidPlayer\Source\com\unity3d\player
![](https://img.haomeiwen.com/i8830165/9ecbd6bc6d2178ef.png)
我们stuido 代码中需要继承它 那么就需要引入Unity的classes.jar包 路径地址E:\Program Files\Unity 2017.3.0b10\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes
![](https://img.haomeiwen.com/i8830165/7b6dde63cddb88b5.png)
将Classes.jar 放入studio项目中
![](https://img.haomeiwen.com/i8830165/feb7d7f0ef24d953.png)
3、删掉Studio中多余的不需要的文件并主MainActivity继承 UnityPlayerActivity
![](https://img.haomeiwen.com/i8830165/ec0d80ab134fa685.png)
![](https://img.haomeiwen.com/i8830165/9ff54daceee86de9.png)
![](https://img.haomeiwen.com/i8830165/c3c00df6d3205685.png)
![](https://img.haomeiwen.com/i8830165/952a404190114d55.png)
![](https://img.haomeiwen.com/i8830165/90502c4d9db95dd0.png)
![](https://img.haomeiwen.com/i8830165/b9c244cb08a2ead2.png)
![](https://img.haomeiwen.com/i8830165/7c01cb4b85dfc93c.png)
4、将Android AAR集成到Unity中
aar是不能直接放到Unity中的 我们需要将aar转成rar 找到libs中的classes.jar文件删掉,因为它是unity中拷贝过来的 不能跟着一起再到unity中去不然就报冲突了, 我们将它删掉之后 然后将AndroidManifest.xml单独拷贝出来
![](https://img.haomeiwen.com/i8830165/744a57eb0ffe4b85.png)
弄好之后放到unity中
![](https://img.haomeiwen.com/i8830165/ac90cb336cfe8645.png)
Unity 新建一个Canvas 放个button 写上脚本给Canvas我们来试试 脚本名称androidScripte (随便起)
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic("currentActivity");
jo.Call("showCurrentTime");
![](https://img.haomeiwen.com/i8830165/94f77c16c65eacb4.png)
![](https://img.haomeiwen.com/i8830165/4a3a6476d8c94c0f.png)
5、打包
![](https://img.haomeiwen.com/i8830165/f80b7f6c0eecab42.png)
![](https://img.haomeiwen.com/i8830165/371749d647cdf674.png)
最终效果
完毕, 点击显示则显示时间
网友评论