android unity3d classes.jar,【Unity】AndroidStudio打jar包/aar包给Unity使用(一)

1.创建Android工程 (Android 4.4 PackageName:Unity_Android_SDK)

2.创建Android Library, Unity_Android_Library

3.在Android Library下创建新的Activity(勾选Launcher Activity)

删除activity_main.xml

4.MainActivity.java中删除 setContentView(R.layout.activity_main);

5.从Unity安装目录:…\Unity2018.1.0f2\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes

拿到classes.jar包

复制到Android工程下的libs目录下;

6.将app包下的manifest的application标签中的内容覆盖掉Unity_Android_Library的application的标签中内容

删除报红的错误

521189c9ab54b5671aac82c09ea84201.png

android:label=”” 修改为应用程序名称

在标签结尾后添加新的标签

7660ccd62af4d81eeb4a57e3b09abef3.png

7.MainActivity 修改继承为 UnityPlayerActivity;

8.MainActivity下实现方法

9.选中Unity_Android_Library ,点击Bulid/Make select Modules

//我的AndroidStudio已经不支持此方法导出

10.Unity_Android_Library\build\intermediates\bundles\debug\ 目录下将classes.jar替换libs下原来的classes.jar包;

拿出libs,res文件夹

将manifests\full\debug\AndroidManifest.xml文件拿出;

11.将AndroidManifest.xml下的package=”com.dtstudio.tony” 修改为Unity工程包名(都为小写)

12.创建Unity工程(名称随意)

修改平台

设置包名(遇上面一直)

13.创建文件夹Plugins\Android\

将上面的三个文件放在该目录下(博主AS无法导出jar,就放张aar的图)

b5cf6e88275c6ba6c45de2b57167fb9a.png

14.C#调用Java上的方法

//获得com.unity3d.player包下的UnityPlayer类

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

//获得jc所代表的类下的currentActivity对象

AndroidJavaObject jo = jc.GetStatic(“currentActivity”);

//jo.Call(“方法名”,参数1,参数2)

//无返回值

//jo.Call(“方法名”,参数1,参数2)

//有返回值

int num = jo.Call(“add”, 1, 2);

java调用C#

//挂在脚本的物体,要调用的方法名,参数

UnityPlayer.UnitySendMessage(“Main Camera”,”ChangeColor”,”“);

c1ce085b4ad53e91d432f3025d076fec.png

beb0322ba7c937e833bde5b64367c805.png

7ce9203a6c489dc2af49e77e3810c6e9.png

TonyChen

2018.5.18

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值