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文件夹解压出来,
放到工程的Assets\Plugins\Android\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..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

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

  1. ionic2+集成第三方sdk时,合并多个清单文件的方法

    具体方案android studio官网上已经给出,但需要架梯子,所以这篇文章直接把它搬到墙内,方便查看: 合并多个清单文件 合并优先级 合并冲突启发式算法 合并规则标记 节点标记 属性标记 标记选择 ...

  2. Unity利用Share SDK实现QQ、微信及微博第三方登录及定制内容分享(附代码)

    最近因为公司的项目需要添加一些实用性的功能,需要添加第三方登录及分享,采用的是Mob的SDK,可以先到其官网下载对应的SDK 点击这里,为了方便后期进行数据统计和分析,所以可以先添加一个应用,添加成功 ...

  3. unity 引入 ios 第三方sdk

    原地址:http://blog.csdn.net/u012085988/article/details/17785023 unity开发中ios应用时,要想成功引入第三方sdk,首先得知道c#与obj ...

  4. unity 引入 android第三方sdk

    unity中调用java代码中介绍了unity调用android java代码的一些基础.引入android开发第三方sdk的操作跟调用java代码的操作相似,只是多了一步引入第三方jar. unit ...

  5. Unity导出xcode后自动化导入第三方SDK

    最近因为在给项目接入第三方SDK,遇到了一个比较烦人的事情就是,每次出包都要重新根据第三方SDK说明设置xcode,每次最少花20分钟来设置,如果出错的话就不一定是20分钟的事了,所以我决定要做一个自 ...

  6. Unity 发布到IOS,Android的各种坑

    Unity 发布到IOS的注意事项1.开发环境MAC环境:Xcode环境 7.2.1Unity环境:Unity5.32.基本说明首先,我说一下,这是我在对Unity发布到IOS的实际使用中,总结出来的 ...

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

    原文:2018年Unity结合Android SDK下载安装及配置教程 首先声明: Unity版本2017.1f3        最近试着在Unity中利用网易做AR开发时,发布项目文件需要发布到An ...

  8. Unity - 接入Android SDK

    在网络上,关于Unity与Android如何进行交互,雨松MOMO大神已经有两篇文章简单介绍了如何操作(1)Unity3D研究院之打开Activity与调用JAVA代码传递参数(2)Unity3D研究 ...

  9. spring学习笔记---第三方SDK(Rest API)和Jaskson的巧用

    前言: 其实我以前一直不懂电商, 以及电商中所涉及的业务概念. 对于SKU等名词, 觉得有些玄乎. 对其背后的数据模型, 也有莫名的未知恐惧感: 庞大而理不清头绪. 不过最近有机会接触了微商(有赞), ...

随机推荐

  1. poj 2482 Stars in Your Window (线段树扫描线)

    题目大意: 求一个窗体覆盖最多的星星的权值. 思路分析: 每个星星看成 左下点为x y 右上点为x+w-1 y+h-1 的矩形. 然后求出最大覆盖的和. #include <cstdio> ...

  2. git将一个分支的某个文件合并到当前分支

    有时在开发的feature中,整个分支的功能并没有完成开发完成,但是,有几个修改的基础文件需要合并到develop中,这个时候的操作步骤为: git checkout develop     //切换 ...

  3. How Not to Crash系列地址

    http://inessential.com/hownottocrash How Not to Crash #1: KVO and Manual Bindings How Not to Crash # ...

  4. matplotlib-plot-style

    style 1.绘制x=1 2.不同线宽 enumerate(Widths) 3.线型(实线,虚线,点划线) linestyle set_dashes 4.自动设置线颜色 5.点的显示形式 marke ...

  5. jQuery 实现前端模糊匹配与首字母搜索

    实现效果 源码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...

  6. Java new Date() bug

    往 MongoDB 中 upsert 记录,记录中的一个字段是 Date 类型的,这个字段是我 new Date() 放进去的. 然后落库的时候,发现这个时间比当前时间要晚 1h30min 左右. 我 ...

  7. Python MQTT 最简单例程搭建

    MQTT 不是普通的 client server 模型,他还加了一个 代理者. 根据剑锋的提示,先下载了 paho-mqtt 模块, ubuntu 14.04 上下载方法如下: sudo apt-ge ...

  8. [进程]kill 9和15,以及pkill, killall

    转自:https://www.cnblogs.com/liuhouhou/p/5400540.html 大家对kill -9 肯定非常熟悉,在工作中也经常用到.特别是你去重启tomcat时.可是多半看 ...

  9. Postgres快速创建大量测试数据

    DROP TABLE IF EXISTS color; CREATE TABLE color( cname ), remark ) ); ),) ,); 插入10000000数据之后,用时51秒 对于 ...

  10. 代理ARP

    代理ARP是ARP协议的一个变种. 对于没有配置缺省网关的计算机要和其他网络中的计算机实现通信,网关收到源计算机的 ARP 请求会使用自己的 MAC 地址与目标计算机的 IP地址对源计算机进行应答.代 ...