ABI Management

时间:2023-03-09 02:46:31
ABI Management

ABI Management

 官方文档:https://developer.android.com/ndk/guides/abis.html?hl=is  

关于支持指令集,在上表官方文档都表达清楚了。我们认为避免多个指令集浪费资源。现在armeabi v5的机型基本都淘汰了,我们建议保留armeabi-v7a这样就可以兼容到市面上的绝大多数手机

 当然,如果你认为说arm v5(就是armeabi) 就不要了吗。如果一定要这样的,你可以选择保留armeabi,将armeabi-v7a的so拷贝到armeabi里面.(目前微信的考虑就是保留了armeabi)

 注意:1.因为默认编译是保留armeabi的,所以大多数的都会有armeabi

    2.有些SDK提供了多个指令集的so.事实上没有必要全部都一股脑拷贝。只要自己做好兼容。保证兼容就好了。我们还是建议保留armeabi-v7a 或者armeabi 不要无谓的浪费资源

    最后如果搞不定,你们可以干掉不用的指令集。避免资源浪费.你们可以将armeabi-v7a 里面的so放在armeabi 里面,其他的(arm64,x84)都干掉.

    但是因为目前百川这边是三个armeabi,armeabi-v7a和x86目前qupaisdk里面是将so放在armeabi-v7a里面的.最简单的方式是你将qupai的三个so放在armeabi里面.保证只有这三个平台,其他第三方的都放在armeabi里面。删除arm64-                            v8a,mips,mips64等

    最简单的的方法:

  

    defaultConfig {
    ...
    ndk {
    abiFilters "armeabi-v7a"
    }

    

    如果要保留armeabi的包:

    

    defaultConfig {
    ...
    ndk {
    abiFilters "armeabi"
    }

    

  

}