Unity与原生交互之Unity篇——AndroidStudio导出aar/jar包供Unity使用实现交互全流程(2)

这篇博客详细介绍了如何在Unity中导入和使用Android原生库,包括从Unity目录获取classes.jar,将其添加到Android Studio的Library Module作为依赖,编写原生代码调用Unity的UnitySendMessage()方法,以及如何导出aar或jar包,确保在Unity中正确使用而不会出现冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

序言:此篇介绍在(1)的基础上引入Unity的API库进行交互,原生调Unity

1.导入Unity库

 注意:

        (1)老版本Unity的classes.jar里包含UnityPlayerActivity API

        (2)新版本Unity的UnityPlayerActivity API 在UnityEditor安装路径中,需单独导入,后续介绍

 1.1导入unity的classes.jar      

打开Unity目录:Unityx.x.x\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes

  把classes.jar复制到app/libs文件夹下

1.2 为创建的Library Module添加“classes.jar”库依赖

  方式一(推荐):

 右键jar文件,选择Add As Library,引用到app库中,选择OK

 

 到模块中的build.gradle 查看是否成功引用,若没有此句,可手动添加上

手动添加的话,修改代码后需要点击 sync now

注:可以将 implementation 改为 compileOnly ,避免生成aar时包含unity的classes.jar包

 方式二:

        1)File/Project Structure - Dependencies - app(创建的LibraryModule)

        2)  添加jar dependency,OK-Apply-OK

        

        

        3)查看依赖添加是否成功:打开module(app)下build.gradle文件里的dependencies

        

2.编写原生调Unity的代码

主要是调用Unity的api : import com.unity3d.player.UnityPlayer.UnitySendMessage()

3.导出aar,将jar导入Unity

由于目前还是仅编写的原生API库,则只需要jar即可

点击Build - Make Project 删除aar

若是导入aar包,则需要将aar内的根目录下的classes.jar移除,因为此jar包是之前导入AS的unity api包,unity已经包含有,必须移除避免unity冲突报错

4.Unity编写对应的被调函数,打包APK测试

 下一篇传送门:

Unity与原生交互之Unity篇——AndroidStudio导出aar/jar包供Unity使用实现交互全流程(3)_人生若只如初見♫的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值