Unity3D与安卓原生的交互(一)

1:前言
使用Unity进行游戏开发,有时候不可避免的会需要调用一些安卓的功能,比如剪切板,摄像机,保存到相册等等。这些东西是需要写安卓代码的,有些人会说我不会写怎么办?不用担心,这篇文章会详细描述安卓和Unity3D之间的交互。
2:基本原理
Unity3D调用安卓一般是需要用户使用安卓的编辑器生成Jar文件或者aar文件,然后再用C#调用原生的方法,从而实现交互。本文使用jar文件来实现交互,话不多说直接开整。
3:生成Jar文件
首先,使用Android Studio 创建一个安装工程,然后创建一个Android Library,File->New Module ->Android Linrary 然后Next,设置包名之后,点击Finish项目等编译完成:然后要在Unity的安装文件夹里面找到class.Jar:位置在:Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Release\Classes,这个文件夹,前提是安装了安卓平台才会有。然后将class.Jar拷贝出来作为mylibrary的一个库具体是在:File->Project Structure->Dependencies->在Modules 选中自己创建的Library ,然后在右边的Declared Dependencies 的+号,选择 Jar Dependency ,最后再找到class.jar文件导入即可。
这是创建之后的项目目录
然后在java 右键选择New->Java Class 创建一个Java类,然后需要继承UnityPlayerActivity如下图:
继承UnityPlayerActivity
我们做一个调用安卓原生的Toast 提示函数如下:
public void showToast(final String content){
Toast.makeText(this,content,Toast.LENGTH_LONG).show();
}
好了,这是原生代码的部分,接下来我们要生成Jar 文件了。首先你要找的刚才新建的库文件的build.gradle文件,添加一段代码,如下:
task makeJar(type: Copy) {
delete ‘build/libs/MyUtils.jar’
from(‘build/intermediates/packaged-classes/debug/’)
into(‘build/libs/’)
include(‘classes.jar’)
rename(‘classes.jar’, ‘Utils.jar’)
}
makeJar.dependsOn(build)
这段代码主要是用来生成Jar文件的,然后打开Android Studio 的 Terminal 如下图:
Terminal
打开Terminal 之后在里面输入:gradlew makeJar;然后回车等待完成即可。
下一篇是Unity部分的代码,敬请期待

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值