求助,从安卓SD分区中读取.unity3d读取excel并加载场景时闪退

Unity3D调用Android Java代码 - 深圳
编辑:www.fx114.net
本篇文章主要介绍了"Unity3D调用Android Java代码 - 深圳",主要涉及到Unity3D调用Android Java代码 - 深圳方面的内容,对于Unity3D调用Android Java代码 - 深圳感兴趣的同学可以参考一下。
最近公司准备接入91手机平台的支付系统,这边要实现在安卓上Unity调用Java代码,Unity刚刚上手,Android开发也接触不多,在网上找了不少资料,但都不是很详细,总觉得缺了些什么,经过两天摸索,基本完成功能,所遇问题颇多,在此一一总结
&
1.开发安卓环境的搭建
2.关于安卓开发
3.Unity调用安卓的各种问题
&
1. 安卓开发环境的搭建,在这里随便装了个Eclipse和ADK那些杂七杂八的,这个是真的很简单,网上的资料非常多,这里我可以很负责任地略过,随便参照网上的一个环境搭建,跑一个安卓的 Hello World,就OK了,下面随便给出两篇作为参考
&
&
2. 看了一下安卓开发的入门资料,对安卓的开发有一个大概的了解,理解了几个简单的概念,Activity,Intent,R.java,AndroidManifest.xml
&
Activity 是活动,相当于一个窗口,配置为MAIN的Activity也相当于main函数
&
Intent 表示意图,例如我希望从这个Activity切换到另外一个Activity,这就是一个意图,这里简单理解为窗口切换的一个中介吧
&
R.java 是Eclipse自动生成的一个类,用来索引资源,在res目录下的添加任何资源都会在这里生成一个索引,它的好处是不容易写错资源名字,导致找不到资源,这个类也经常出问题,后面会提及
&
AndroidManifest.xml 是安卓应用程序的配置文件,配置了程序有哪些Activity,哪个是入口,需要哪些权限等等
&
3.进入主题了!
&
在开始调用任何安卓代码之前,确保你可以把你的程序编译成安卓的apk,在安装完安卓环境之后,Unity需要进行一些设置才可以编译,第一次编译需要设置ADK的目录,打开Preferences设置
&
&
如果你运气够好的话,在编译的时候就可以发现第一个错误,我的Unity是3.5的,它要求Android4.0的ADK,下载4.0的ADK后可以编译,这里经过验证,打包出来的apk是可以在安卓2.0上面运行的,关于目标机器的最低安卓版本,可以在PlayerSettings-&Minnimum API Level设置
&
&
点击OK然后在弹出的窗口中选择ADK的路径即可,我的路径是下图,Unity会在platforms下面找相关的文件
&
&
打开File-&Build Settings-&Android-&Build会生成apk文件,将apk安装到手机或者虚拟机,然后可以运行查看效果。不要直接点右三角来运行你的程序了,调用安卓的代码是执行不了的(听说有一个插件可以直接在PC上面调试,但未曾用过)
&
好了,现在可以开始编写安卓代码了,以宣雨松的那个demo为例子&
&
步骤如下:
1.创建Android 项目
&
2.导入Unity的classes.jar(这里他只说了mac下的方法,win下我的目录是&Unity\Editor\Data\PlaybackEngines\androidplayer\bin)
&
3.编写代码和相关的XML(这一点他把代码都贴出来了,可以直接复制)
&
4.Build安卓项目,在bin/classes目录下打包所有class成jar 在该目录下执行&
jar&-cvf&class.jar&*
5.将打包好的class.jar 放到Assert目录下的 Plugins/Android 下,可以是任意名字和目录,Unity会在这里查找所有的jar作为插件,另外将安卓项目的res文件夹以及AndroidManifest.xml拷贝到Plugins/Android目录下
&
6.编写调用Java的测试脚本,并拖到场景中的对象上(直接拖到摄像机上面就可以了)
&
7.设置好程序的PlayerSettings,Identification Bundle Identifier*,设置为你的包名(我猜想,不设置这里,在AndroidManifest设置Activity的android:name,在类名前加上完整的包名应该是可以的)
&
8.Build编译成apk,然后安装到手机或者虚拟机上,运行,查看Log cat
&
中间遇到了N个问题:
&
1.项目出现红色的叉叉,代码资源都没错误
Problems窗口出现一个错误&Unparsed aapt error(s)! Check the console for output.
&
&
更新ADT后问题解决,因为更新了ADK,导致ADK和ADT的版本冲突
&
&
2.项目出现红色感叹号,源码和资源都没有问题,经过排查得出是引用的jar包的问题,重新配置一下jar包,clean一下,红色感叹号消失
&
&
&
3.R.java文件丢失的问题,此问题比较常见,引入的第三方库有问题(不存在,重复引用等),res资源文件出错等等,会导致R.java丢失,修复问题后Clean一下项目会重新生成R.java
&
4.运行时闪退的问题,这一般是java的运行时错误导致,在Log cat可以看到错误信息 Unable to start activity ComponentInfo ...... 这一行是错误的原因,这里的原因是空指针
&
&
5.引用到了其他jar包,在打包成apk之前需要把引用到的jar包一起放到Unity工程的Android目录下,不然会找不到
&
关于代码的理解:
1. currentActivity 在Unity代码中我们通过&AndroidJavaObject jo = jc.GetStatic&AndroidJavaObject&("currentActivity");来获取当前的活动,这里的"currentActivity"表示当前的活动
&
2. setContentView 这个函数会传入一个布局的ID,这个一般对应一个layout.xml配置文件,当调用这个函数的时候,会根据布局配置文件来初始化界面
3.关于classes.jar 这里的classes.jar是封装了class文件一个包,类似于win下的dll,linux下的so,这里包的名字是随意的,但包的位置一定要在Andorid目录下
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:游戏频繁闪退怎么破 闪退问题解决方案_图文攻略_全通关攻略_高分攻略_百度攻略
无双西游采用了当下手游中最为热门游戏引擎Unity3d,再加上独特的MOBA模式,游戏一经开测便在玩家群体中引起了强烈反响,游戏的优化做的相当不错,玩家可以流畅地体验动作+MOBA的独特魅力,不过有些玩家在运行游戏时会遇到闪退的情况,下面小编就来为玩家们解决无双西游的闪退问题,一起来看看啊吧。闪退解决方式:1.游戏版本不对(IOS/安卓)由于这款游戏还是比较新的,刚刚发布没多久,一些小的游戏下载站很有可能只是匆匆下载了适合自己的安卓手机版本的游戏包就打包上传了,而这种情况下,你的手机和下载下来的游戏包其实是完全不兼容的,建议各位安卓玩家前往googlestore下载《修剪艺术》。精彩内容,尽在百度攻略:2.分辨率不兼容(安卓)如果您是新版的1080P手机或者一些和主流分辨率不太一样的手机的话那么很有可能是因为分辨率的问题,手机分辨率直接影响到游戏能否流畅运行,而《修剪艺术》为一款刚出的新游戏很有可能没有考虑到更多分辨率的兼容问题,出现这种情况只能说很遗憾,我们不得不等游戏公司更新才能解决这个问题啦。3.系统版本过低/不符(IOS/安卓)如果您是IOS版本IOS5或者以下以及安卓2.3.0以下版本的手机的话那么您的手机系统版本有些过低了,没有达到《修剪艺术》要求的最低系统版本,如果强制运行很有可能会导致设备出现问题,建议升级系统版本之后再进行游戏。另外如果是MIUI和FLYME用户的话出现闪退的可能性也许更高,因为定制系统存在一些FC的问题,出现这种情况建议升级您的定制系统至最新版或者下载一些防FC的rom包重新刷机。精彩内容,尽在百度攻略:4.杀毒软件(安卓)虽然基本上不存在这个问题,但是一些版本老旧的杀毒软件还是会在不知名的情况下禁止一些游戏运行,请检查你的手机杀毒软件黑名单和屏蔽列表中是否出现了《修剪艺术》,如果出现,那么闪退就是因为杀毒软件所致的了。以上就是小编带来的无双西游闪退问题解决方案,玩家欲知更多游戏内的攻略与资讯,敬请关注百度攻略&口袋巴士《无双西游》专区。
无双西游-相关攻略推荐
无双西游-综合攻略

我要回帖

更多关于 unity3d 读取文件 的文章

 

随机推荐