unity调用Android的jar包
简介
有一些手机功能,Unity没有提供相应的接口,例如震动,例如不锁屏,例如GPS,例如...
有太多的特殊功能Unity都没有提供接口,这时候,我们就需要通过使用Android原生的ADT编辑器去编写Java代码,然后打包jar导入到Unity工程,然后通过Unity提供的调用Android接口的函数去调用jar包中的函数即可。
这里我们就介绍一下使用Unity实现手机震动效果;
实现内容简要说明:
1. Android提供jar文件,xml文件,res目录,libs目录
2. 通过AndroidJavaClass去调用Android函数
另外,这些功能只能在真机上运行!
具体实现:
Android部分
1.下载AndroidSDK(需要包含ADT编辑器的)
官方下载连接:http://developer.android.com/sdk/index.html
2 创建Android项目
菜单位置:File ->New->Android Application Project
创建过程中,只有一下这个界面的内容需要更改,其他的使用默认的就行
生成后解决方案的目录如图
其中MainActivity就是我们需要编辑的java文件了
3. 导入Unity相关jar
Jar目录:unity的安装路径\Editor\Data\PlaybackEngines\androidplayer\bin下的classes.jar
通过AddExternalArchives添加,如图:
4. 导入jar后,就可以开始编辑相关的函数了,打开MainActivity
添加unityActivity,使MainActivity继承UnityPlayerActivity,并把SetContentView函数删掉(不然到手机上启动程序的时候就会只看到一句HelloWorld),这里用一个比较函数Max作为例子,有参数,有返回值
5. 到这里,需要的函数已经写完,再修改一下xml文件
Xml文件在工程文件目录下,叫AndroidManifest.xml
6. 接下来到处jar包
点击Export后选择Java目录下的Jar file,选择好路径之后按默认选项去到处jar文件即可
7. 到这里Android部分结束了
Unity部分
1. 设置PlayerSetting,要与Android的package对应上
2. 在Assets目录下添加Plugins\Android目录,把Android的jar文件,res文件夹,libs文件夹,xml文件放入该目录
3. 调用相关函数
(注:初步了解这里的参数之所以填”com.unity3d.player.UnityPlayer”和”currentActivity”,是因为在生成jar文件的时候,已经指定了MainActivityclass继承UnityPlayerActivity,也在XML指定了MainActivity是Main class)
Android权限列表
另外,附上Android权限列表链接(http://blog.csdn.net/xv_ly15/article/details/9314299)
unity调用Android的jar包的更多相关文章
- Android 中jar包封装及调用-转
在android开发过程中,我们经常会有这种需求,自己开发一个类库jar包,提供给别人调用. 即把项目A封装成jar包,供项目B调用,而在项目B中调用项目A的activity的时候问题就出现了:找不到 ...
- unity 调用android函数
unity 调用android函数 分类: unity2013-12-19 17:54 475人阅读 评论(0) 收藏 举报 unityandroidjar 我们知道,安卓project都有一个And ...
- Unity调用Android相册
最近有一个项目有这个需求,让用户上传自己的交易凭证的截图,之前因为对调Android原生的东西不太熟悉,就先放了一边 因为项目已经上线,只不过是该功能未开放而已,那么现在为什么要写这篇博客呢,是因为. ...
- Andriod Unity 调用android函数
//首先这是一个前沿 //我看了多的资料,还看了近半个小时的 android activity 的讲解 终于打出了apk //接下来开始 //一步一步的跟着我走 1.创建一个android项目或者一个 ...
- Unity调用Android类方法
Unity调用Android类方法 1. 添加Unity的classes.jar文件 创建一个Android工程AndroidUnityDemo. 由于Unity的版本不同,直接在Unity安装包文 ...
- Unity调用Android
1.Unity调用Android 根据unity用户手册,unity可以采用native code(c/c++),但是也提供了C#调用方法,本文对此进行简单讲解. 2.Unity获取android类 ...
- 分享:根据webservice WSDL地址自动生成java调用代码及JAR包
分享:根据webservice WSDL地址自动生成java调用代码及JAR包使用步骤:一.安装java 并配置JAVA_HOME 及 path二.安装ANT 并配置ANT_HOME三.解压WsdlT ...
- Kettle中调用用户自定义的jar包
ETL工具断断续续的也接触了 Informatica,Kettle, SSIS,个人感觉Info很强大但是也很贵,而且有着一些神秘感.Kettle 4.0版本以来已经有了User defined j ...
- Unity调用Android的两个方式:其一、调用jar包
unity在Android端开发的时候,免不了要调用Java:Unity可以通过两种方式来调用Android:一是调用jar.二是调用aar. 这篇文章主要讲解怎么从无到有的生成一个jar包,然后un ...
随机推荐
- Android Eclipse 导入 AS Gradle AAR 库手冊
序言 这是一篇半技术类文章.众所周知如今Google主推Android Studio开发工具.而Eclipse已经被闲置一阵子了,可是Eclipse项目却还有非常多没有迁移到AS中.而如今一些新的库都 ...
- NOTE:rfc5766-turn-server
NOTE:This project is active in Google code: http://code.google.com/p/rfc5766-turn-server/ 启动方法:./tur ...
- moving from a host-centric infrastructure to a container-centric infrastructure
https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/ Why do I need Kubernetes and what c ...
- C++ Lambda表达式和仿函数笔记
C++11中引入了Lambda表达式,其语法如下: [capture list](parameter list)->return type { function body } 参考博文:C++ ...
- 人生苦短之Python文件的IO操作
在Python中也有涉及到文件的相关操作,从最简单的文件读取说起 文件读取 file = open('/Users/macbookpro/Desktop/使用教程.txt', 'r', encodin ...
- FFMPEG more samples than frame size (avcodec_encode_audio2) 的解决方案
在实际的项目中,从音频设备采集到的音频的类型和编码器类型(aac ,amr)通常是不一致的. 那么我们首先需要做重采样的过程.利用swr_convert 重新采样. 这时候我们可能会遇到另外一个问题. ...
- codeforces B. Ciel and Flowers 解题报告
题目链接:http://codeforces.com/problemset/problem/322/B 题目意思:给定红花.绿花和蓝花的朵数,问组成四种花束(3朵红花,3朵绿花,3朵蓝花,1朵红花+1 ...
- html5--3.18 新增的output元素
html5--3.18 新增的output元素 学习要点 了解output元素的用法 output元素:数据的输出 output元素是HTML5新增的元素,用来设置不同数据的输出 output元素的输 ...
- dhclient命令
语法:dhclient(选项)(参数) 选项0:指定dhcp客户但监听的端口号-d:总是以前台方式运行程序-q:安静模式,不打印任何错误的提示信息-r:释放ip地址 参数:网络接口:操作的网络接口 示 ...
- Canvas HTML5
不支持的时候记得: <canvas id="stockGraph" width="150" height="150"> curr ...