再谈Unity调用Android的Activity
这段时间在研究Unity4.3开发环境下。怎样调用由Android SDK4.4.2写的Activity。參考了非常多网上的博客。百度出了几十篇大部分都是转载雨松MOMO的,这里必须向雨松MOMO表示敬意!但雨松MOMO写的博客太旧了,不少内容已经过时,我严格按他说的步骤进行,还是出了问题,所以本博客就是告诉大家在Unity4.3+Android SDK4.4.2环境,起动Activity的细节。
我这篇博客不会从零讲起,所以首先给出两个重要的链接,大家应该看一下:
第一个是雨松MOMO的 http://www.xuanyusong.com/archives/667 这篇博客的概念是正确的,但操作过程已过去
第二个是一个比較新的博客 http://www.narkii.com/club/thread-320335-1.html 这篇博客的概念和操作都是正确的,但细节有所省略,重点不够明白。我的博客即是对它的补充。
步骤:
1:打开Eclipse,创建一个Androidproject,注意,要么在创建时选择创建库,要么创建之后在project属性的Android页面勾选Is Library。
2:在project属性中的Java Build Path -> Libraries中。用Add External JARsbutton,把Unity的classes.jar加进来,比方我的Unity是装在D盘。则路径是:D:\Program Files\Unity\Editor\Data\PlaybackEngines\androidplayer\development\bin。
3:写两个Activity。A和B。实如今A中启动B。这个过程能够參考上述推荐的博客,他们讲的非常具体,我这里仅仅是强调一下,A需继承自UnityPlayerActivity,而B则仅仅需继承自Activity。
4:编译Androidproject,会在bin文件夹下生成一个XXX.jar文件。注意,这个jar仅仅有2k左右大小是不能用的。原因是非常多class没有包括进去,比方非常重要的R.layout.class。编译完了后必须使用Export导出。并选择正确的打包项才会生成一个100-600k大小的jar,这一点雨松MOMO没有讲。
以下是我选择的打包项:
5:至此。Android部分基本OK。打开Unity创建一个Project,在Assets\Plugins\Android以下。把刚刚生成的jar拷贝过来。另外还有res目录。
6:到Unity的安装文件夹下D:\Program Files\Unity\Editor\Data\PlaybackEngines\androidplayer找到AndroidManifest.xml,将其复制到Unityproject的Assets\Plugins\Android文件夹下,然后改动它有两个地方要改动,1是把package改为你的androidproject的包名。2是把<activity
android:name=这句等号后面的内容改为你的Androidproject的主Activity的名字,比方我的:
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.unitytestactivity"
android:installLocation="preferExternal"
android:theme="@android:style/Theme.NoTitleBar"
android:versionCode="1"
android:versionName="1.0">
..........
..........
<activity android:name=".UnityTestActivity"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
注意名字前的点。第二句表示启动时不显示Title。这个问题曾折腾我非常久。第三句直接拷贝。
7:写Unity下的脚本cs文件,这里没什么好说的。參考雨松MOMO。
8:Unity的Build Setting注意把Bundle Identifier改为你的Androidproject的包名。
9:注意,从Unity中启动一个Activity的功能无法在Unity中模拟执行,必须安装到真机中才干看到效果,我曾傻傻的并郁闷的试了好久。预计兴许的Unity版本号会改进这个问题。
再谈Unity调用Android的Activity的更多相关文章
- Andriod Unity 调用android函数
//首先这是一个前沿 //我看了多的资料,还看了近半个小时的 android activity 的讲解 终于打出了apk //接下来开始 //一步一步的跟着我走 1.创建一个android项目或者一个 ...
- Unity调用Android类方法
Unity调用Android类方法 1. 添加Unity的classes.jar文件 创建一个Android工程AndroidUnityDemo. 由于Unity的版本不同,直接在Unity安装包文 ...
- unity 调用android函数
unity 调用android函数 分类: unity2013-12-19 17:54 475人阅读 评论(0) 收藏 举报 unityandroidjar 我们知道,安卓project都有一个And ...
- Unity调用Android
1.Unity调用Android 根据unity用户手册,unity可以采用native code(c/c++),但是也提供了C#调用方法,本文对此进行简单讲解. 2.Unity获取android类 ...
- Unity调用Android相册
最近有一个项目有这个需求,让用户上传自己的交易凭证的截图,之前因为对调Android原生的东西不太熟悉,就先放了一边 因为项目已经上线,只不过是该功能未开放而已,那么现在为什么要写这篇博客呢,是因为. ...
- Unity教程之再谈Unity中的优化技术
这是从 Unity教程之再谈Unity中的优化技术 这篇文章里提取出来的一部分,这篇文章让我学到了挺多可能我应该知道却还没知道的知识,写的挺好的 优化几何体 这一步主要是为了针对性能瓶颈中的”顶点 ...
- Unity 调用android插件
1. Unity的Bundle Identifier必须和你的android报名一致 Activity和View的区别: Activity应该是一个展示页面,View是页面上一些按钮视图等等. 如何调 ...
- unity调用Android百度地图
由于个人是Android小白,在这个配置上面被折磨了很久,因此写下这篇文章 工具:eclipse + unity5.6.1 首先去百度地图开发者平台下载你需要的资源,我只需要显示地图和定位,这个时候你 ...
- 极简Unity调用Android方法
简介 之前写了篇unity和Android交互的教程,由于代码里面有些公司的代码,导致很多网友看不懂,并且确实有点小复杂,这里弄一个极简的版本 步骤 废话不多说,直接来步骤吧 1.创建工程,弄大概像这 ...
随机推荐
- python版本管理--pyenv
python版本环境管理 下载依赖 yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readli ...
- 算法笔记_163:算法提高 最大乘积(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 对于n个数,从中取出m个数,如何取使得这m个数的乘积最大呢? 输入格式 第一行一个数表示数据组数 每组输入数据共2行: 第1行给出总共的数 ...
- java阅读笔记
前言:面向对象设计的几大原则? 1>针对接口编程,而不是针对实现编程 2>优先使用对象组合,而不是类继承 1.只根据抽象类中定义的接口来操纵对象有以下两个好处? 1)客户无须知道他们使用对 ...
- #pragma pack(push,1)与#pragma pack(1)的区别(转)
这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式. #pragma pack (n) 作用:C编译器将按照n个字节对 ...
- CSS3图片折角效果
本篇文章由:http://xinpure.com/css3-picture-angle-effect/ 图片折角效果主要是通过设置 border 属性实现的效果 效果预览 效果解析 假设我们将一个元素 ...
- golang中使用mongodb
mgo简介 mongodb官方没有关于go的mongodb的驱动,因此只能使用第三方驱动,mgo就是使用最多的一种. mgo(音mango)是MongoDB的Go语言驱动,它用基于Go语法的简单API ...
- 2012全球SEO行业调查报告
这份报告是SEOmoz对每两年一度举办的SEO行业调查进行的分析数据,上次调查是在2010年.该调查,主要围绕SEO从业人员的特征.工作内容时间分配比例.SEO相关消费和预算.对未来市场的看法.seo ...
- ajax实现json循环输出结果
$.post("bankInfo.php",{key:jee_server,uid:jee_uid},function(data) { var strs=JSON.stringif ...
- [docker]搭建私有registry
导入导出镜像比较麻烦,共享镜像占了工作中一大部分时间. 搭建了个本地registry, 不支持用户名密码验证的 和 支持用户名密码验证的两种. 参考: https://docs.docker.com/ ...
- html页面中js判断浏览器是否是IE浏览器及IE浏览器版本
HTML里: HTML代码中,在编写网页代码时,各种浏览器的兼容性是个必须考虑的问题,有些时候无法找到适合所有浏览器的写法,就只能写根据浏览器种类区别的代码,这时就要用到判断代码了.在HTML代码中, ...