在接入穿山甲sdk的时候,打包apk的时候出现适配部分机型,部分机型闪退,出现如下错误

图中可以看出是.so文件引起的问题。

接入第三方sdk的时候,有时候常常需要导入第三方jar包以及aar包,有些还需要依赖一些.so文件,.当依赖于.so文件的时候就需要做好.so文件的管理

常见.so文件有以下几个平台

当把所有平台一股脑导进Unity的时候,在打包APK的时候是会报错的,因为这几种.so文件并不能共存(原因以下阐述),报如下的错误

我们打开Unity安装包(或者通过打包空的Android平台的APK),可以发现APK内部只有两个平台的.so文件

通过观察,我们得到Unity在打包apk的时候会把Unity安装路径下的.so文件打进apk,这也是我们把全平台的.so文件丢进Unity在打包apk时候报错的原因。综上我们知道了在平时开发apk的时候只需要上图中的两个平台.so文件即可。

综上分析,我在排查问题的时候发现穿山甲第三方sdk提供的aar包。内部如下(观察路径可知)

在aar内部存在与Unity不兼容的平台.so文件,删除不兼容的两个平台后,打出apk可以正常适配所有机型。

项目后期想要针对广告进行优化,先后集成了几家广告sdk,同样出现了相同问题,使用同样手段极客解决问题,但也有更便捷的方式,即在Gradle中添加以下语句,可自动过滤项目需要的.so文件。

defaultConfig {multiDexEnabled truetargetSdkVersion **TARGETSDKVERSION**applicationId '**APPLICATIONID**'
//过滤.so文件语句ndk {abiFilters 'armeabi-v7a','x86'}}

一般第三方的sdk会提供全类型的so库,用这个就可以限制了打包出来的apk只有这两种类型,主要还是根据你们的项目来定的。
不过一般这两种类型都能满足了。

Unity 接入第三方SDK打包闪退相关推荐

  1. 解决Android接入第三方QQ登录闪退

    解决Android接入第三方QQ登录闪退 1.问题 按照官方文档接入QQ登录后,模拟器上运行正常,在真机小米8(Android Q)上面的时候闪退: 报错如下: Java.lang.NoClassDe ...

  2. Unity接入微信SDK——iOS(接入微信SDK)

    Unity接入微信SDK--iOS(一 接入微信SDK) 下载微信SDK 下载地址:微信开放平台 导出Unity Xcode项目 导出Unity Xcode项目,并打开 微信SDK导入Xcode项目 ...

  3. 解决Xamarin Android SDK Manager闪退问题

    解决Xamarin Android SDK Manager闪退问题 SDK Manager闪退是因为它找不到java.exe导致的.SDK Manager默认是通过读取注册表中JDK安装信息来java ...

  4. win7 java闪退_win7 sdk manager 闪退

    在android-sdk\tools的目录下寻找android.bat,右键选择编辑,找到android.bat文件中的下面字段并进行修改 rem Check we have a valid Java ...

  5. 技术干货 | mPaaS 框架下如何使用 Crash SDK 对闪退进行分析?

    简介: Android Native Crash 处理案例分享 目前 mPaaS Android 是使用的是 Crash SDK 对闪退进行的处理,Crash SDK 是 Android 平台上一款功 ...

  6. 从 smali 接入第三方 sdk

    遇到过这种场景吗? 什么样的场景需要从 smali 语言层面接入第三方 sdk 呢? 一般都是 java 语言接口,一目了然,搞个 smali 不是没事找事? 其实不然 场景不同,我还真就遇到这种常规 ...

  7. Unreal Engine 虚幻引擎 接入第三方SDK

    前言 虚幻引擎对SDK接入有着一套专门的方式,本文主要描述了如何给使用虚幻引擎开发的项目接入第三方SDK,并分享了接入微信SDK的分享等基础功能的实践过程,还涉及到调试和提高整合SDK效率的一些方法. ...

  8. 接入第三方SDK初始化失败原因

     接入第三方SDK初始化失败原因 最近在接联通计费SDK,出现了一些问题,大家可以看下.(Java大神可以自动略过,只对SDK新人有效) 各种权限以及配置文件全部做好了,但是老是提示SDK初始化失 ...

  9. Android如何接入渠道SDK的闪屏页?一个activity就够了

    如果你是做SDK开发的,应该接入过很多渠道SDK,常见的渠道有华为.小米.VIVO.OPPO.应用宝.UC九游.三星.小七等,还有一些小的渠道以及一些聚合渠道SDK,成千上万个渠道,其中部分渠道是需要 ...

最新文章

  1. 并发基础(一):Executor
  2. div css图片列表实例
  3. 【CentOS】安装部署jenkins从git获取代码[转]
  4. Entity Framework 使用注意:Where查询条件中用到的关联实体不需要Include
  5. php函数从数组中取出指定的数目,PHP数组函数
  6. CentOS 7安装和部署Docker
  7. PHP中mysql如何添加记录_PHP向MySql提交数据添加记录的简单代码_PHP教程
  8. 使用 Proteus 仿真 STM32
  9. oracle中创建表的自增ID
  10. iOS项目更新之升级Xcode7 iOS9
  11. 干货 | attention超全综述
  12. windows 7系统安装与配置Tomcat服务器环境
  13. Python学习02 列表 List
  14. 智慧监狱UWB定位系统解决方案
  15. Vs2010中文版MSDN 安装方法
  16. 中国和欧洲两大市场均下了最后通牒,苹果这次恐怕逃不过了
  17. 【开心一刻】又想让马儿跑,又不给马儿吃草!
  18. 2021苹果CMS安卓萝卜视频原生影视APP源码支持投屏选集倍速弹幕版(前端二开美化版)
  19. 错误1:Archive for required library: XXXXXXXXcannot be read or is not a valid ZIP file
  20. 不要带着这些思维去职场工作

热门文章

  1. 链表的基本操作(C语言)详解(摘取自C语言学习网2.5)
  2. 福大软工1816 · 第六次作业 - 团队选题报告
  3. 步进电机五根线怎么接_第一讲:老冯三分钟教会你步进电机接线
  4. python找最长的单词,Python 找出英文单词列表(list)中最长单词链
  5. “最忆是杭州”再次上演,与新华三“谈谈新”
  6. 软件推荐:Typora -新手上路-夏凌玥
  7. antd中table组件中如何进行换行操作(react中)
  8. java发邮件要收费吗,2年以上经验必看
  9. Asio Streams, Short Reads and Short Writes
  10. Java OOM问题分析 学习