ERROR: Conflicting configuration : ‘arm64-v8a‘ in ndk abiFilters cannot be present when split...
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...相关推荐
- NDK abiFilters含义
NDK开发时,在build.gradle中,cmake和ndk都有abiFilters的设置.如下所示: cmake {cppFlags ""abiFilters " ...
- 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 ...
- 解决办法:CMake编译时出现“error in configuration process project files may be invalid”
无论是CMake2.84 还是当前最新的CMake2.87都可能会出现这种错: 查遍国内外的网上都没有给出可行办法,结果还是自己解决了 现把出错原因和解决办法如下: 出错原因:因是英文版本,通常安装没 ...
- linux 内核编译错误 error: conflicting types for ‘syscall_trace_enter’
编译内核出现如下错误: arch/x86/kernel/ptrace.c:1472:17: error: conflicting types for 'syscall_trace_enter' In ...
- android配置so支持armeabi,安卓项目中so库选择(ndk abiFilters设置,armeabi,armeabi-v7a,arm64-v8a)...
背景 Android 系统本质是一个通过改造的 Linux 系统,so库是Linux系统上使用的共享库(相似windows上的dll).最先,Android 系统只支持 ARMv5 的 CPU 构架, ...
- 解决方案-CMake error: error in configuration process, project files may be invalid(WindowsVS可参考)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 解决流程 1)按Win键+R键弹出运行,输入cmd进入命令行窗口,输入cmake-gui,弹出如 ...
- 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 ...
- 【已解决】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 ...
- error: conflicting declaration ‘typedef struct
这个错误也在c开发当中,经常遇上的一个错误:"error: conflicting declaration 'typedef struct" 中文意思是:冲突的声明 意思就是:两个 ...
最新文章
- http://www.secrepo.com 安全相关的数据获取源
- 蓝桥杯--2013--黄金连分数(大数)
- Selenium2Library关键字(1)
- 【深度学习】短袖短裤识别算法冠军方案总结
- 机器学习实验中的编程技术(part2)--numpy
- hdu 4267 多维树状数组
- “约见”面试官系列之常见面试题之第五十篇之title和alt的区别(建议收藏)
- android 系统(8)---Android 学习网站汇总
- eclipse3.2 汉化 汉化包下载
- CString char BSTR 转换
- CSDN写博客图片的放大、缩小、去水印、居中
- oracle数据库安装——最详细全步骤详解
- 2023年长安大学外国语言文学考研考情与难度及上岸前辈备考经验
- 学习笔记(3):SAP S4 HANA财务模块入门到精通-供应商自动付款的操作-Fiori
- 安装mosek并配置到matlab
- 企业文化海报设计模板,企业文化经典标语挂图素材
- 第三方互联网支付的主要类型
- AD7797芯片驱动调试
- word使用:默认粘贴方式的更改
- 汇编语言-jcxz指令
热门文章
- Linux中ps命令介绍
- C语言小项目之“究极无敌螺旋丸极爆炸狂拽炫酷五彩棒的”通讯录之*派小猩*作品
- 使用Google Earth Engine (GEE)实现MODIS数据批量下载
- css中div和spand,IE and CSS Compliance
- 大神note3千元指纹机,这是要逼疯友商吗
- ios 渐变透明背景_使用Figma智能动画制作iOS动效
- 卡尔曼滤波之基本概念和状态观测器
- php点击链接直接下载文件写法
- 计算机怎么换屏幕,笔记本电脑怎么换屏?笔记本拆机换屏图文教程介绍
- 基于全卷积神经网络的图像分割方法详解(二)