Android 官网通知,从 2019 年 8 月 1 日开始,您在 Google Play 上发布的应用必须支持 64 位架构。64 位 CPU 能够为您的用户提供更快、更丰富的体验。添加 64 位的应用版本不仅可以提升性能、为未来创新创造条件,还能针对仅支持 64 位架构的设备做好准备。

按照Android 官网提示进行配置本来很简单的一件事,但是确话费了我好长时间。

在这里记录一下这个错误,防止自己以后再犯 ^ _ ^

优化ApK大小之ABI Filters 和 APK split

想要打出的 apk 包含多个架构的 so库 需要下面的配置:

android {... // 其它配置defaultConfig {...  // 默认配置ndk {//选择要添加的对应cpu类型的.so库。abiFilters 'armeabi', 'armeabi-v7a'// 还可以添加// 'arm64-v8a', 64 bit ARM architecture,it can use v7 version//              unless you are too much concerned about performance// mips,mips64, There are no devices with MIPS//  x86_64, No android devices and anyway it can use X86 version//  armeabi, very old architecture. Unsupported after Android 4.4// 'x86', Intel based devices}}... // 其它配置
}

想要构架多个不同架构的 apk 包,可以使用 ABI 拆分,需要下面的配置:

android {... // 其它配置splits {abi {reset()//重置 ABI 列表为只包含一个空字符串(与 include 一起使用可以表示要使用哪一个 ABI,而不是要 exclude 哪些 ABI)enable true // 设为true,才能启用ABI拆分机制在打包时根据架构生成不同的apk文件universalApk false  // If true, 构建支持所有平台abi类型,构建一个包,包含多个架构的so(只要代码中有的都会打进去)include "armeabi-v7a", "armeabi" // 设置所有要支持的abi类型,构建多个包,每个包只包含一个架构的soexclude "x86"   // 设置所有不要支持的abi类型}}
}

这种配置是没有办法让打出的 apk 只包含自己想要的多种架构的~!

ERROR

如果两个一起配置那么报下面的错误:

ERROR: Conflicting configuration : 'arm64-v8a' in ndk abiFilters cannot be present when splits abi filters are set : armeabi

因为 ABI 拆分当中的 include 是和 ndk abiFilters 互斥的操作

总结

  • 如果两种方式分开配置都可以运行;
  • 两种方式一起配置在不报错的情况下(ABI拆分注调include),ABI 拆分不生效;
  • 多架构的apk只能使用abiFilters

文章到这里就全部讲述完啦,若有其他需要交流的可以留言哦

想阅读作者的更多文章,可以查看我 个人博客 和公共号:

ERROR: Conflicting configuration : ‘arm64-v8a‘ in ndk abiFilters cannot be present when split...相关推荐

  1. NDK abiFilters含义

      NDK开发时,在build.gradle中,cmake和ndk都有abiFilters的设置.如下所示: cmake {cppFlags ""abiFilters " ...

  2. xx.xib: error: Illegal Configuration: Safe Area Layout Guide before iOS 9.0报错问题解决

    之前是用xcode8.3.3创建的工程最近升级到Xcode9.0 遇见了这个问题 在Xcode 9.0以上 新建xib文件会报错 xx.xib: error: Illegal Configuratio ...

  3. 解决办法:CMake编译时出现“error in configuration process project files may be invalid”

    无论是CMake2.84 还是当前最新的CMake2.87都可能会出现这种错: 查遍国内外的网上都没有给出可行办法,结果还是自己解决了 现把出错原因和解决办法如下: 出错原因:因是英文版本,通常安装没 ...

  4. linux 内核编译错误 error: conflicting types for ‘syscall_trace_enter’

    编译内核出现如下错误: arch/x86/kernel/ptrace.c:1472:17: error: conflicting types for 'syscall_trace_enter'  In ...

  5. android配置so支持armeabi,安卓项目中so库选择(ndk abiFilters设置,armeabi,armeabi-v7a,arm64-v8a)...

    背景 Android 系统本质是一个通过改造的 Linux 系统,so库是Linux系统上使用的共享库(相似windows上的dll).最先,Android 系统只支持 ARMv5 的 CPU 构架, ...

  6. 解决方案-CMake error: error in configuration process, project files may be invalid(WindowsVS可参考)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 解决流程 1)按Win键+R键弹出运行,输入cmd进入命令行窗口,输入cmake-gui,弹出如 ...

  7. error: conflicting declaration ‘typedef struct LZ4_stream_t LZ4_stream_t’

    问题描述: /usr/include/lz4.h:196:57: error: conflicting declaration 'typedef struct LZ4_stream_t LZ4_str ...

  8. 【已解决】error: conflicting declaration ‘typedef struct LZ4_stream_t LZ4_stream_t’ typedef struct { long

    问题描述 error: conflicting declaration 'typedef struct LZ4_stream_t LZ4_stream_t' typedef struct { long ...

  9. error: conflicting declaration ‘typedef struct

    这个错误也在c开发当中,经常遇上的一个错误:"error: conflicting declaration 'typedef struct" 中文意思是:冲突的声明 意思就是:两个 ...

最新文章

  1. http://www.secrepo.com 安全相关的数据获取源
  2. 蓝桥杯--2013--黄金连分数(大数)
  3. Selenium2Library关键字(1)
  4. 【深度学习】短袖短裤识别算法冠军方案总结
  5. 机器学习实验中的编程技术(part2)--numpy
  6. hdu 4267 多维树状数组
  7. “约见”面试官系列之常见面试题之第五十篇之title和alt的区别(建议收藏)
  8. android 系统(8)---Android 学习网站汇总
  9. eclipse3.2 汉化 汉化包下载
  10. CString char BSTR 转换
  11. CSDN写博客图片的放大、缩小、去水印、居中
  12. oracle数据库安装——最详细全步骤详解
  13. 2023年长安大学外国语言文学考研考情与难度及上岸前辈备考经验
  14. 学习笔记(3):SAP S4 HANA财务模块入门到精通-供应商自动付款的操作-Fiori
  15. 安装mosek并配置到matlab
  16. 企业文化海报设计模板,企业文化经典标语挂图素材
  17. 第三方互联网支付的主要类型
  18. AD7797芯片驱动调试
  19. word使用:默认粘贴方式的更改
  20. 汇编语言-jcxz指令

热门文章

  1. Linux中ps命令介绍
  2. C语言小项目之“究极无敌螺旋丸极爆炸狂拽炫酷五彩棒的”通讯录之*派小猩*作品
  3. 使用Google Earth Engine (GEE)实现MODIS数据批量下载
  4. css中div和spand,IE and CSS Compliance
  5. 大神note3千元指纹机,这是要逼疯友商吗
  6. ios 渐变透明背景_使用Figma智能动画制作iOS动效
  7. 卡尔曼滤波之基本概念和状态观测器
  8. php点击链接直接下载文件写法
  9. 计算机怎么换屏幕,笔记本电脑怎么换屏?笔记本拆机换屏图文教程介绍
  10. 基于全卷积神经网络的图像分割方法详解(二)