当前位置: 首页 > 工具软件 > ps2sdk > 使用案例 >

解决微博SDK接入全平台支持

郭翰翮
2023-12-01

解决方案参考微博开放平台AndroidSDK官方文档https://github.com/sinaweibosdk/weibo_android_sdk

问题描述

问题的主要来源在于下面的说明

3:关于so 微博sdk aar中默认直提供了[armeabi] [armeabi-v7a][x86]三个平台的so,如果你需要适配更多版本的so,请到github->so目录中获取全部平台的so文件

通过compile 'com.sina.weibo.sdk:core:4.2.7:openDefaultRelease@aar'方式引用微博SDK,默认只能支持armeabi、armeabi-v7a、x86三个平台,如果想支持其他平台需要获取对应平台的so文件并导入。当然如果没有指定必须支持全平台,也可以选择只支持这三个平台。

这里讨论的是如何支持其他平台的情况。

导入方法

方案一 单独下载so文件导入到主项目

  1. 仍旧通过compile 'com.sina.weibo.sdk:core:4.2.7:openDefaultRelease@aar'方式引用微博SDK
  2. 找到[module]/app/src/main/jnilibs 目录(没有则创建), 在https://github.com/sinaweibosdk/weibo_android_sdk/tree/master/so下载并对应平台的so文件, 将下载的文件放到对应的平台文件夹下 例如 [module]/app/src/main/jnilibs/arm64-v8a/libweibosdkcore.so [module]/app/src/main/jnilibs/x86_64libweibosdkcore.so

方案二 改为导入修改后的aar文件

  1. 将最新的aar文件下载,将需要支持的so文件写入aar压缩包中
  2. 在主项目的gradle文件添加
android{
    repositories{
        flatDir {
            dirs 'libs'
        }
    }
}
dependencies {
    compile(name: 'openDefault-4.2.7', ext: 'aar')
}
复制代码

一些关于各平台的说明

CPU架构/abi描述使用范围
armeabi第5代 ARM v5TE,使用软件浮点运算,兼容所有ARM设备,通用性强,速度慢。ARM v5 这是相当老旧的一个版本,缺少对浮点数计算的硬件支持,在需要大量计算时有性能瓶颈早期的手机
armeabi-v7a第7代 ARM v7,使用硬件浮点运算,具有高级扩展功能2011年以后的生产的Android设备
arm64-v8a第8代,64位,包含AArch32、AArch64两个执行状态对应32、64bit。所谓的ARMv8架构,就是在MIPS64架构上增加了ARMv7架构中已经拥有的的TrustZone技术、虚拟化技术及NEON advanced SIMD技术等特性,研发成的。较新的设备如华为荣耀6 mete9 三星 Galaxy S6等
x86intel 32位平板、模拟器用得比较多
x86_64intel 64位64位的平板
mips大概是龙心系列?手机上用的比较少,PS2 PSP是使用处理器
mips64mips的64位版本,通常mips可以兼容mips64

  1. mips / mips64: 极少用于手机可以忽略,有兴趣的可以百度一下。
  2. x86 / x86_64: x86 架构的手机都会包含由 Intel 提供的称为 Houdini 的指令集动态转码工具,实现 对 arm .so 的兼容,再考虑 x86 1% 以下的市场占有率,x86 相关的两个 .so 也是可以忽略的 参考文章: [1]Android .so abi兼容,通用armeabi-v7a和arm64-v8a架构的方法 [2]Android的.so文件、ABI和CPU的关系

转载于:https://juejin.im/post/5c459c436fb9a04a037988ae

 类似资料: