zoukankan      html  css  js  c++  java
  • 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文件夹解压出来,
    放到工程的AssetsPluginsAndroidassets 目录下,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_91injava.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="D:/AndroidSDK/sdk	ools" -Dfile.encoding=UTF8 -jar "C:/Program Files (x86)/Unity4.7.2/Editor/Data/BuildTargetTools/AndroidPlayersdktools.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

  • 相关阅读:
    Asp.NET 4.0 ajax实例DataView 模板编程1
    ASP.NET 4.0 Ajax 实例DataView模板编程 DEMO 下载
    部分东北话、北京话
    .NET 培训课程解析(一)
    ASP.NET 4.0 Ajax 实例DataView模板编程2
    ASP.NET Web Game 架构设计1服务器基本结构
    ASP.NET Web Game 构架设计2数据库设计
    TFS2008 基本安装
    Linux上Oracle 11g安装步骤图解
    plsql developer远程连接oracle数据库
  • 原文地址:https://www.cnblogs.com/AaronBlogs/p/7428939.html
Copyright © 2011-2022 走看看