Unity接第三方SDK时遇到的坑

1、大部分SDK的方法需要在线程中执行,一般会放在主线程里执行,安卓中主线程一般用于UI渲染。

this.runOnUiThread(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                        }
        });

2、当有多个SDK都需要在MainActivity里处理的时候,可以让一个Activity继承另一个Activity。
3、第三方jar包里可能会有assets文件夹并且带有资源,这时候需要我们自己把jar包里的资源解压出来放入工程里的assets文件夹下,Unity在处理jar包的时候不会处理资源,只会处理.class文件。
4、接银联支付的SDK在assets文件夹下有data.bin文件一定要放入Unity工程里,否则会打不开银联充值。
5、安卓SDK主线程被阻塞的时候是没有办法和Unity通信的(顺网的SDK遇到过)。
6、不要过于相信SDK官方给的文档,最好直接看他们给的源码,也不要过于相信SDK渠道的源码,必要的时候jar包解开看看。
7、有需要把另外一个工程添加为引用的时候,可以直接把被引用工程里的资源拷贝到当前工程对应的文件夹下,效果一样的,开发的时候也会更方便。
8、

Error building Player: CommandInvokationFailure: Unable to convert classes into dex format. See the Console for details.
C:/Program Files/Java/jdk1.8.0_91\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="D:/AndroidSDK/sdk\tools" -Dfile.encoding=UTF8 -jar "C:/Program Files (x86)/Unity4.7.2/Editor/Data/BuildTargetTools/AndroidPlayer\sdktools.jar" -

遇到这种错误,一般都是有引用的jar包内容重复,仔细检查jar包。

9、Unity在5.0以后的版本里接安卓的SDK时,libs文件夹下针对相同的CPU架构的.so文件只需要一份就可以了,否则就会报如8所示的错误。一般情况下只保留(armeabi、armeabi-v7a、x86)文件夹即可。我测试的版本是Unity5.5.2(Coolpad的SDK).
Unity5.0之前的版本不受影响,我测试的是Unity4.6。如果有的SDK只有一个CPU架构的文件夹,可以根据自己项目需要自己添加对应的文件夹(VivoSDK2.2.1下如果不安装插件,官方只给了一个armeabi文件夹,游戏启动时会报错)
Android jniLibs下目录详解

10、有的渠道SDK文档里会贴心的让你使用 jar cvf main.jar * 这的命令打jar包,如果已经有了这个jar包放到Unity工程里就不需要在工程里手动导出的jar包放到Unity里了,实际上两种操作的结果是一样的,只是方式不同。如果都放进去就会出现8所示的错误。两只只留其一,我在Oppo的SDK里见过。

11、有些渠道SDK需要在Application里面调用,在Java工程里自己手动添加Application以后记得要在AndroidMenifest.xml上注册

<application
        android:allowBackup="true"
        android:hardwareAccelerated="true"
        android:name="包名.YourApplicationName"
        android:label="@string/app_name">

否则应用启动时不会调用该Application(靠谱助手和VivoSDK里遇到过)。

链接:http://www.jianshu.com/p/20757556099b

时间: 2024-10-27 17:04:27

Unity接第三方SDK时遇到的坑的相关文章

接入第三方sdk出现了一些问题总结

最近cocos2d-x 3.3工程接入第三方sdk时,出现支付的时候应用重启的问题. 结果排查发现,cocos2d-x 3.3经过特殊方法处理(处理方法:http://www.cnblogs.com/Colored-Mr/p/4239888.html),so文件复制在lib/armeabi文件下,但是会出现so文件复制不全的问题(可以比对大小)... 目前只能经过打包后解压apk文件,然后进入apk把so文件重新复制进去,重新签名后包就可以运行了!!!

unity 引入 ios 第三方sdk

原地址:http://blog.csdn.net/u012085988/article/details/17785023 unity开发中ios应用时,要想成功引入第三方sdk,首先得知道c#与object-c如何交互.这里有篇博文介绍了unity开发中,如何实现c#与oject-c互相调用. http://blog.csdn.net/u012085988/article/details/17761433 下面介绍下unity开发ios应用中,引入第三方sdk的流程: 1.将sdk中要用到的接口

Unity 发布到IOS,Android的各种坑

Unity 发布到IOS的注意事项1.开发环境MAC环境:Xcode环境 7.2.1Unity环境:Unity5.32.基本说明首先,我说一下,这是我在对Unity发布到IOS的实际使用中,总结出来的经验!如果你想一次就发布成功,如果你想少走弯路,请仔细看我的说明.因为坑比较多!由于Unity发布到IOS,是以Xcode工程的形式发布到MAC中,所以,在发布的时候需要注意以下几点:1. 发布的工程,需要以真机进行调试(我发布的时候,选择发布unity到模拟器版本,发布后无法用模拟器运行)2. U

从友盟微社区看Android第三方SDK架构实践【转载】

从友盟微社区看Android第三方SDK架构实践[转载] “先写在前面吧,本来想通过链接来转载这篇文章,发现没找到有相关的按钮.上网查了一下,都说博客园没有这功能.我在博客园也有一段时间了,鼓励原创是必须的,不过适当的转载也算是一种将有价值的文章进行分享的方式,不知道以后会不会支持呢!” 原文链接:http://www.csdn.net/article/2015-05-08/2824648-micro-community 摘要:第三方SDK的开发需要考虑很多因素,比如稳定性.灵活性等,并且还要做

2018年Unity结合Android SDK下载安装及配置教程

原文:2018年Unity结合Android SDK下载安装及配置教程 首先声明: Unity版本2017.1f3 ? ? ? ?最近试着在Unity中利用网易做AR开发时,发布项目文件需要发布到Android平台,遇到一些问题,看了网上的一些资料,踩了一些坑,现在总结出来,希望有相同的开发者遇到时可以规避. 第一步.安装JDK: 第二步.安装Eclipse: 第三步.下载并安装AndroidSDK: 第四步.在Unity中发布到Android平台. 安装JDK 官网:http://www.Or

Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送,写这个系列真的很要命,你要去把他们的API文档大致的翻阅一遍,而且各种功能都实现一遍,解决各种bug各种坑,不得不说,极光推送真坑,大家使用还是要慎重,我们看一下极光推送的官网 https://www.jpush.cn/common/ 推送比较使用,很多软件有需要,所以在这个点拿出来多讲讲,我们本节

你在使用assetbundle时可能遇到的坑【转】

在公司项目开发中,用到了assetbundle,由于是webplayer不像手机,流量限制几乎没有,所以场景都是用assetbundle打包后动态加载的,但是这个过程中,遇到不少坑: 1.Editor版本不能读取与自己版本不同的assetbundle 这个问题描述起来很简单:比如:老板原来让你用4.1打包(BuildAssetBundle)开发,开发完毕后,下半年,unity升级了,于是老板要求与时俱进,让你用4.3开发维护,这时,问题就出现了:4.1下的editor打包的assetbundle

微信支付第三方sdk使用

1.引入依赖:(对于依赖冲突自行解决) <dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-pay</artifactId> <!--<version>3.4.9.B</version>--> <version>3.5.0</version> <exclusions> &l

(转)安装Android SDK时遇到Failed to rename directory

安装Android SDK时遇到Failed to rename directory E:\Java\Android SDK\android-sdk_r06-windows\android-sdk-windows\tools to E:\Java\Android SDK\android-sdk_r06-windows\android-sdk-windows\temp\ToolPackage.old01     这样的问题?总是提示无法改名?     解决方法如下:     1.备份tools文件