Unity3D与安卓交互产生问题情况与解决方案汇总
来源:互联网 发布:宏和网络 编辑:程序博客网 时间:2024/06/05 18:34
1.打包安装后开始运行闪退
Androidmanifest.xml文件有问题,有些时候不用SDK可能不会用到这个xml,删了就行
其中看了以下几个文章,也摘取过来
http://blog.csdn.net/crazyapp/article/details/54692325
unity接入第三方SDK时,不同的平台可能遇到的问题不同,在使用untiy发布apk时你可能会遇到,你发布的apk能正常安装,但是一点击运行就立即闪退。我的解决方法就是:
查看Android配置文件和unity->Player Settings中的一些设置。
1.查看配置文件AndroidManifest.xml中是否设置了屏幕方向:例如: android:screenOrientation="portrait" 设置竖屏。如果设置了那么你要再看看unity中设置旋转屏幕方向是否和配置文件中设置的保持一致。这个设置必须要和unity里面的设置保持一致的,我就是这个问题没设置好导致导出apk一启动就闪退。
2.还有一点可能需要注意的是:别忘了在配置文件中加上这样一句话:android:configChanges="orientation|screenSize|keyboardHidden"。
http://blog.csdn.net/neuwyt/article/details/52327262
接入SDK的方式是新建Android项目,写自己的Activity继承自UnityPlayerActivity类,在其中添加用于沟通SDK的接口,然后配置AndroidManifest.xml文件,打包后倒入Unity。(详细过程请自己搜索Unity3D android SDK)。
这样做法的原理是,通过配置AndroidManifest,我们用我们自己创建的UnityPlayerActivity子类,代替了直接在Unity生成Android应用时生成的UnityPlayerActivity。因为我们的类继承了UnityPlayerActivity,所以类中除了具有我们附加的沟通SDK的方法之外,用于支持Unity启动和运行的功能依然存在。
在教程中,有一步是将Android项目中的AndroidManifest.xml拷贝到Unity中。
这一步是有问题的!
我们在AndroidManifest.xml中,只是添加了负责启动和开始运行游戏的UnityPlayerActivity子类。
这会导致我们直接打包出的游戏,在进入游戏,弹出unity3d图标(如果使用的是免费版Unity)后,自动退出。
在Log中只能看见 onDestroy这样的内容,没有任何出错警告信息。
解决方法:
在添加SDK之前,将Unity项目导出Google Android Project。然后查看导出的AndroidManifest.xml。
你发现除了用于启动的<activity></activity>,还有一个叫做 UnityVideoPlayer的Activity。
只需要把这个activity的配置复制粘贴到我们的项目中,便可以解决闪退的问题。
(最好将我们自己写的AndroidManifest.xml加上导出AndroidManifest.xml中关于权限、应用theme的配置语句)还有知乎中胡有成的回答
https://www.zhihu.com/question/36016675/answer/65972738
“万恶”的打包jar命令: jar -cvf test.jar *问题到了这里就很好解决了,如果要使用jar命令打包,需要删除 BuildConfig 和 R相关的classes再进行打包。其实通过下面的两种方式可以绕过这个问题:
- 用Eclipse导出jar文件。具体操作是:右键 -> Export -> Java/JAR file -> 勾选src下面的包全部导出jar。这种方法不会导出多余的文件,编译不会就不会报错了,这是推荐方式。
- 在Eclipse里面改包名为不和包名相同的任意值,例如com.never.mind。这种方法的话Eclipse会将多余的文件生成到com/never/mind目录下面,因为不和最终的包名相同,所以用jar命令打包不会导致冲突。
2.Unity3d 打包时报错 CommandInvokationFailure: Unable to convert classes into dex format. See the Console for details.
报错CommandInvokationFailure: Unable to convert classes into dex format. See the Console for details. 因为出现了重复的class ,于是把在libs里面的class.jar干掉后发布正常。
- Unity3D与安卓交互产生问题情况与解决方案汇总
- UNITY3D与iOS交互解决方案 [
- unity3d与android 交互问题
- 安卓与servlet交互
- 安卓与js交互
- 安卓与JS交互
- 关于安卓开发webview与js交互的问题
- 安卓webview与js交互 问题总结
- unity3d 摄像机抖动情况和解决方案汇总
- Unity3D与android交互
- Unity3D 与 Android 交互
- unity3d与android交互
- Unity3D与Android的交互 4.6打包出APK无问题,升级到5.0时出现无法打包的情况
- 关于XMLHTTP客户端与ASP交互传输XML时所产生的中文编码问题的解决方案
- 安卓原生与H5交互用户丢失(Cookie丢失)现象解决方案
- 服务端与客户端交互中产生的问题
- C#+AE二次开发问题汇总与解决方案
- 安卓客户端与服务器端交互
- L2-006. 树的遍历
- JDK 动态代理实现原理
- 让Ubuntu的ssh保持长时间连接
- 招商银行:如何基于区块链改进跨境清算?
- hibernate_CURD操作
- Unity3D与安卓交互产生问题情况与解决方案汇总
- Linux中Jenkins+Git+Gradle自动化打包Android
- win7下安装Anaconda+TensorFlow+配置PyCharm
- EasyUI_Datagrid 加行号后行号高度错位
- 变量的命名规则
- 画K线图、画N日均线 python3
- 909422229_Linux安装JDK、TOMCAT、MYSQL等常用软件教程
- java数据类型,进制等(以及笔试小题)
- HDU1531 King 题解 【差分约束】【SPFA】