赞
踩
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再进行打包。其实通过下面的两种方式可以绕过这个问题:
报错CommandInvokationFailure: Unable to convert classes into dex format. See the Console for details. 因为出现了重复的class ,于是把在libs里面的class.jar干掉后发布正常。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。