1、splits参数说明:

enable: 是否启用ABI拆分机制
reset():重置ABI列表为只空字符串,一半和include、exclude一起使用,如果要用必须在include和exclude前面
include:指明要包含哪些ABI,目前使用最多的伪64位处理器的arm64-v8a,其次才是armeabi-v7a
exclude:默认包含下所有ABI,可以移除一些ABI
universalApk:是否打包一个通用版本,包含所有的ABI,默认值为 false

举例:设置代码如下

splits {abi {enable truereset()include 'arm64-v8a','armeabi-v7a'
//      exclude 'armeabi'universalApk true}
}

那么这种情况下打包会生成3个apk,我们把它们解压缩一探究竟,

第一个:app-arm64-v8a-release.apk,里面只会包含arm64-v8a文件夹中的so文件

第二个:app-armeabi-v7a-release.apk,里面只会包含armeabi-v7a文件夹中的so文件

第三个:app-universal-release.apk,里面会包含arm64-v8a和armeabi-v7a文件夹中的so文件

根据不同平台选择不同的apk

2、abiFilters过滤

先设置splits,不设置abiFilters的情况下,代码如下:

splits {abi {enable truereset()include 'arm64-v8a','armeabi-v7a','armeabi'
//      exclude 'armeabi'universalApk true}
}

那么这种情况下打包会生成4个apk

第一个:app-arm64-v8a-release.apk,里面只会包含arm64-v8a文件夹中的so文件

第二个:app-armeabi-v7a-release.apk,里面只会包含armeabi-v7a文件夹中的so文件

第三个:app-armeabi-release.apk,里面只会包含armeabi文件夹中的so文件

第四个:app-universal-release.apk,里面会包含arm64-v8a、armeabi-v7a、armeabi文件夹中的so文件

再设置abiFilters过滤:

ndk {abiFilters 'arm64-v8a',"armeabi-v7a"
}

那么这种情况下仍然会打包会生成4个apk

第一个:app-arm64-v8a-release.apk,里面只会包含arm64-v8a文件夹中的so文件

第二个:app-armeabi-v7a-release.apk,里面只会包含armeabi-v7a文件夹中的so文件

第三个:app-armeabi-release.apk,里面只会包含armeabi文件夹中的so文件

第四个:app-universal-release.apk,里面会包含arm64-v8a和armeabi-v7a文件夹中的so文件

结论:abiFilters过滤就是在splits的基础之上,再选择打入universal中所包含的几种处理器架构的文件夹的

关于split分包和abiFilters过滤的打包问题相关推荐

  1. maven资源过滤导致打包后文件变大

    今天遇到一个问题,我们有个ip.dat二进制文件,通过里面内容可以解析ip所在的地域信息,本地单元测试都是OK的,部署到测试环境后,发现解析ip的时候报错.拿测试环境打印出的IP地址,在本地单元测试也 ...

  2. hbuilderx 小程序分包_HbuilderX微信小程序打包失败

    项目使用npm run dev:mp-weixin可以运行成功,但打包时npm run build mp-weixin出现如下错误.package.json请见附件. kaibanshenqi@0.2 ...

  3. Android中arm64-v8a、armeabi-v7a、armeabi是什么?

    ------<怎么利用Android Studio查看Android-SDK源码> 前言 正题 ABI是如何工作的 ABI具体适配流程 项目中该如何适配 打包配置 split分包 ndk{ ...

  4. uni-app小程序本地打包超过2M不能预览问题;小程序打包过大不能预览和真机调试;uni-app分包;

    一.问题:我们在小程序工具中开发时候,需要本地打包,但是当本地的打包文件大于2M时候,预览的二维码就会有问题,导致真机扫码打不开或者有遗漏. 二.此时就需要开启分包 1.微信小程序每个分包的大小是2M ...

  5. 小程序打包体积过大的解决方案

    一 背景 分包是小程序给出的类似于web异步引入的一个方案,把一些初始进入时不需要的页面放到分包里,跳转到对应页面时再去下载分包,从而有效减少主包体积. 项目背景: 公司的小程序项目使用taro来实现 ...

  6. 解读apk分包-32位安装包、32位64位兼容包和64位安装包

    目录 1.apk为何要分包(32位安装包.32位64位兼容包和64位安装包)? 2.影响apk适配的cpu架构的因素-原生代码(C/C++代码) 3.如何判断apk支持的cpu架构? 3.1 查看ap ...

  7. python字符串的split replace strip

    split replace strip是字符串中内置的三个函数,作用分别是分割 替换 去空格 1:split split(a,b):用指定的字符(a)分割字符串,可以限制分割的次数(b),返回一个列表 ...

  8. python字符串筛选输出_如何在Python中过滤字符串列表

    Python使用列表数据类型在顺序索引中存储多个数据.它的工作方式类似于其他编程语言的数字数组.filter()方法是Python的一种非常有用的方法.可以使用filter()方法从Python中的任 ...

  9. unity安卓打包修改启动画面_Unity自动化打包Android APK

    零. 前言 最近在做Unity开发,有个任务是通过Jenkins实现自动化打包Unity游戏成Android APK的需求,所以在完成任务后,梳理成了一个最简单的教学,也把遇到的坑和大家分享. 若需要 ...

最新文章

  1. pytorch 区间loss 损失函数
  2. oracle imp 1403,Oracle中用exp/imp命令参数详解【转】
  3. 【Linux病毒】阿里云+腾讯云服务器的 kdevtmpfsi(H2Miner挖矿蠕虫变种)病毒处理(5个详细步骤)
  4. 17-爬虫之scrapy框架五大核心组件工作流程及下载中间件介绍04
  5. 情怀真的可以吃~致文青
  6. matlab采集网口数据,使用Signal Tap II采集到的数据进行Matlab仿真(转载)
  7. iptv管理系统php制作,双子星IPTV管理系统搭建教程
  8. 【算法基础】动态规划解题实例之野营问题
  9. 采用Visual Stuidio 2010 创建网站栏
  10. [转]【NODE】用WS模块创建加密的WS服务(WSS)
  11. linux环境sphinx搭建,linux系统环境下搭建coreseek(sphinx+mmseg3)
  12. sqlyog设置自动补全_SQLYog快捷键大全
  13. 训练SnowNLP新模型
  14. jupyter notebook中Nbextensions插件功能大全
  15. 文化人类学课后习题答案
  16. 如何实现PDF转Word
  17. 创建office vsto外接程序,开发wps插件,配置启动wps进行调试
  18. 广播、组播 socket编程
  19. 软路由初步尝试-U盘运行LEDE
  20. c语言中接收字符串函数,C语言中字符串处理函数拾锦

热门文章

  1. OC中@interface、@implementation、@protocal
  2. 【Unity游戏开发教程】零基础带你从小白到超神21——线和拖尾
  3. Typecho魔改版二次元风格G主题
  4. Excel成神之道-003-快速生成数字等差序列
  5. 武汉大学 计算机学院 信明权,林馥 - 教师简历 CV- 武汉大学计算机学院
  6. onethink复制、移动按钮IE8不兼容
  7. Lotus Leaves
  8. 从拿破仑行军地图到自拍--10 个有趣数据可视化示例及其工作原理
  9. 0成本搭建IP电话系统,统一通信系统,呼叫中心系统-3CX快速安装手册
  10. 中国社科院与美国杜兰大学金融管理硕士项目——你永远可以,成为想要的自己