原地址:http://bbs.18183.com/thread-149758-1-1.html

本文内容为创建UNITY3D接入91SDK的DEMO的具体操作过程。本人水平有限,UNITY3D与Android如何交互的技术请大家参看雨松的博客。

我的开发环境: MAC系统, ECLIPSE, UNITY4.0

开发过程:

1.准备要UNITY为交互Android自备的CLASS.JAR文件。
   我的操作过程是:应用程序->UNTITY文件夹->UNITY->右键:显示包内容->CONTENTS文件夹->PLAYBACKENGINES文件夹->AndroidPlayer文件夹->BIN文件夹->CLASS.JAR【目录:/Applications/Unity/Unity.app/Contents/PlaybackEngines/AndroidPlayer/bin】复制出来备用。

2.新建Android项目,把CLASS.JAR复制到项目libs文件夹中,将91SDK的NdComPlatform.jar也复制到libs文件夹中,将 MainActivity extends UnityPlayerActivity ,将需要调用的安卓SDK方法写好。AndroidManifest.xml根据91SDK的要求进行配置。Android项目中不需要引入91SDK的RES文件。为修复Android4.0+系统转屏崩溃问题,在AndroidManifest.xml中所有的configChanges内增加"|screenSize"。
如:<activity Android:name="com.nd.commplatform.activity.SNSLoginActivity"

Android:configChanges="orientation|keyboardHidden|navigation|screenSize"
                        Android:theme="@Android:style/Theme.NoTitleBar.Fullscreen"
                        Android:windowSoftInputMode="adjustPan"
                        Android:windowBackground="@null"
                        Android:launchMode="singleTask"/>
<ignore_js_op>

<ignore_js_op>

 
3.然后,在项目上右键RUN AS->Android APPLICATION。进入项目目录->bin文件夹->classes文件夹->复制里面所有的文件粘贴到一个找好的目录中,如JARU3D这个文件夹中。
4打开终端,进入UARU3D这个文件夹,输入:jar -cvf myclass.jar *  回车,JARU3D文件夹中将多出:myclass.jar, 该文件做备用。
<ignore_js_op>

5.打开UNITY3D4.0,创建新UNITY项目后,在ASSETS文件夹下新建文件夹Plugins,在Plugins文件夹中新建Android文件夹,在Android文件夹中新建bin文件夹和libs文件夹,将myclass.jar复制到bin文件夹中,将91SDK的NdComPlatform.jar复制到libs文件夹中,将91SDK的res文件夹全部复制到Android文件夹中,将Android项目的AndroidManifest.xml复制到ANDORID文件夹下,把Android项目中的资源按照对应的文件夹复制到UNITY项目RES文件夹的对应文件夹内。
在ASSETS文件夹中创建UNITY调用Android的文件,将该文件拖动到MAIN CAMERA放开鼠标进行绑定。

<ignore_js_op>

6.UNITY打包为APK安装包进行DEMO效果测试。注意PLAYERSETTINGS配置中BUNDLE IDENTIFIER要和Android项目的package相同。

<ignore_js_op>

<ignore_js_op>

7.大功告成,参看胜利成果。
<ignore_js_op>

<ignore_js_op>

##李工文中提及文件-----老版本
Android项目: <ignore_js_op> u3dandroid.zip (3.77 MB, 下载次数: 1979) 
UNITY3D4.0项目: <ignore_js_op> u3dprj.zip (2.92 MB, 下载次数: 1692) 
UNTIYDEMO-APK包: <ignore_js_op> u3ddemo.apk.zip (9.68 MB, 下载次数: 4131) 
##SDK开发新做DEMO-----较新版本,非最新
SDK3.2.6新DEMO: <ignore_js_op> Unity3d_91SDK_Demo.zip (17.63 MB, 下载次数: 15824)

2013-8-2 18:04 上传

点击文件名下载附件

 

注意:manifest.xml里面的SNSControlCenterActivity和SNSLoginActivity的属性应为Android:configChanges="orientation|keyboardHidden|navigation|screenSize",
否则可能造成转屏崩溃,具体原因查询GOOGLE ADNROID官方网站。摘抄原文:
Note: If your application targets API level 13 or higher (as declared by the minSdkVersion and targetSdkVersion attributes), then you should also declare the "screenSize"    configuration, because it also changes when a device switches between portrait and landscape orientations.
"screenSize"     
The current available screen size has changed. This represents a change in the currently available size, relative to the current aspect ratio, so will change
when the user switches between landscape and portrait. However, if your application targets API level 12 or lower, then your activity always handles this
configuration change itself (this configuration change does not restart your activity, even when running on an Android 3.2 or higher device).Added in API level 13.

实操UNITY3D接入91SDK安卓版的更多相关文章

  1. MyBatis实操进阶版(一)

    MyBatis实操进阶版(一) 目前而言,持久层框架中,在业务实现灵活性上,无可出MyBatis之右者.具体原因,后续将逐步展开 ResultMap元素的设置 配置文件中,ResultMap元素的作用 ...

  2. QVM 实操记 - 18.12.28

    视频回放地址:https://i.iamlj.com/mp4/QVM-IMC-12.27-1080P.mp4 目录 目录 常规开发部署流程 准备工作 开发准备 网站部署 操作步骤 重装系统 LANP环 ...

  3. UNTIY3D接入91SDK的办法

    原地址: http://bbs.18183.com/thread-111324-1-1.html UNITY3D接入Android-SDK 方法一:把UNITY3D游戏打成安卓项目文件,修改安卓项目文 ...

  4. 《5天学会卡西欧fx-5800p之实操视频教程(初级)》目录和我的工作室现场曝光

    很多人给我讲,想让我录制一份卡西欧fx-5800p的视频教程,我也一直在准备,准备了半年,录制视频真的不是件容易的事,条件有限,而且工作也很忙,中途还会有想放弃的念头,真的是花费了我很多的心血,但不管 ...

  5. Appium常用Api实操

    本文是基于python语言在android上实操的,仅记录(忽略排版~~~) 会不时更新的: from appium import webdriver from selenium.webdriver. ...

  6. Docker安装MySql完整教程、实操

    docker:官网 docker:镜像官网:        镜像官网可以所有应用,选择安装环境:会给出安装命令,例如:docker pull redis 默认拉取最新的版本(指定版本:docker p ...

  7. mPaaS 小程序架构解析 | 实操演示小程序如何实现多端开发

    对于 mPaaS 小程序开发框架,想必读者们并不陌生.它源自于支付宝小程序框架,继承了易开发性.跨平台性及 Native 性能,不仅帮助开发者实现面向自有 App 投放小程序,还可快速构建打包,覆盖支 ...

  8. 从零实操基于WSL2 Docker部署Asp.Net Core项目

    前言 平日在公司里都是基于阿里Teambition中的飞流进行Docker部署Api项目或服务,已经习惯了那一套成熟的操作流程,开发和部署确实快捷方便,但是还没在自己的电脑上进行操作过,特别是Wind ...

  9. Iptables 实操

    目录 Iptables之实操 简介 名称概念: 四表中常用的表 Nat表 Filter表 iptables表和链的工作流程图 iptables过滤图 Iptables安装 Iptables 命令说明 ...

随机推荐

  1. 远程连接实验室的VPN

    Windows 7 (win8类似)的用户请按以下步骤进行操作:1.点击“开始”菜单,然后点击“控制面板”,然后点击“查看网络和任务”.2.点击“设置新连接或网络”.3.点击“连接到工作区”,然后点击 ...

  2. Unixbench测试工具和使用

    安装过程 wget http://soft.laozuo.org/scripts/UnixBench5.1.3.tgz tar xf UnixBench5.1.3.tgz cd UnixBench5. ...

  3. js搜索输入关键词

    function getInput(val,a){ var id = 'ser-key'; if(a=='focus'){ document.getElementById(id).value=''; ...

  4. Log4cpp配置文件格式说明

    Log4cpp配置文件格式说明 博客分类: log4cpp log4cpp  log4cpp有3个主要的组件:categories(类别).appenders(附加目的地).和 layouts(布局) ...

  5. rpm 命令

    这些事rpm的常用参数!!! 你可以在linux下man 一下rpm就知道了!!! 不过是英文的,不然你可以百度一下rpm就知道了额!!! 下面我帮你贴几个!!!!rpm 常用命令1.安装一个包 # ...

  6. jar war

    区别:Jar.war.EAR.在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式.但是它们的使用目的有所区别: Jar文件(扩展名为. Jar,JavaApplication ...

  7. Lua 之table库

    标准table库 table.concat(table, sep,  start, end) concat是concatenate(连锁, 连接)的缩写,table.concat()函数列出参数中指定 ...

  8. redis入侵小结

    redis安装: windows安装包:http://pan.baidu.com/s/1i3jLlC5 下载下来之后,开始安装: redis-server.exe redis.conf: 简单一步,安 ...

  9. 百度编辑器修改,不让它自动替换html标签

    在ueditor.all.js中找到 UE.plugins['defaultfilter'] = function () 注释或删掉这块代码. 注:ueditor.all.min.js 中也一样,格式 ...

  10. 1.servlet的会话机制cookie

    会话:用户开浏览器访问某个网站,只要不关闭浏览器,不管该用户点击多少个超链接,访问多少资源,直到用户关闭浏览器,整个过程称为一次会话 cookie会话: 1.记录用户上次登录的时间 2.浏览商品的历史 ...