项目打包apk到达50M(加入高德地图和视频播放的SDK),之前打包才20M多。如何减少apk的大小:

Android studio有个分析apk的功能,可以查看apk的结构

选择apk文件

可以看到apk中的文件的大小所占的比例

apk大小主要取决于lib、assets、res和.dex文件的大小。所以减小apk大小就是如何减小lib、assets、res和.dex文件的大小。

展示lib的所有文件,看到了针对各种CPU架构的文件(里面就是.so文件)

对于lib,可以限制支持的cpu架构,来减小lib的大小

//app.gradle
defaultConfig {...ndk {//设置支持的cpu架构abiFilters "armeabi", "armeabi-v7a"//, "x86", "arm64-v8a", "x86_64"}
}

我只设置两个最常用cpu架构(覆盖绝大部分手机),再次打包,并对apk进行分析

这时,lib文件只包含了两个cpu架构的.so文件,大小减小超过了一半。

对于如何减小assets、res和.dex文件,这需要细致的操作了(打包开启压缩代码、移除无用资源)

Android apk瘦身相关推荐

  1. Android Apk瘦身指南大全

    Android Apk瘦身指南大全 前言 为什么Android应用Apk要瘦身?虽然安装包大小对应用使用没有影响,但应用的安装包越大,用户下载的门槛越高,安装等待时间也会越长,特别是在移动网络情况下, ...

  2. Android APK 瘦身

    Android APK 瘦身的几个方法 将项目中的图片由png.jpg转为webp格式.如下操作: 1.1选中图片或者含有图片的文件夹 右键选择Convert toWebP.. 1.2根据自身情况选择 ...

  3. Android apk瘦身之使用TinyPng压缩图片

    1 前言 Android apk太大了怎么办,有的时候需要减小apk的体积,例如上传到服务器的时候有文件大小的限制.百度一下,发现大致有以下几种方法: 使用混淆,减少代码体积 删除不使用的资源 减少使 ...

  4. Android apk瘦身讲解

    apk瘦身 想办法较减少apk大小 必要性 同样功能,apk越小越好,用户下载动机更大 了解apk的组成 classes.dex:是java源码编译后生成的java字节码文件 resources.ar ...

  5. Android APK 瘦身 - JOOX Music项目实战

    JOOX Music是腾讯海外布局的一个音乐产品,2014年发布以来已经成为5个国家和地区排名第一的音乐App.东南亚是JOOX Music的主要发行地区,由于JOOX Music所面对的市场存在很多 ...

  6. android APK瘦身全面总结——如何从32.6M到13.6M

    前言 之前我简单介绍了关于svg图片瘦身的问题,在公司,瘦身这个问题是我提出来的,所以这锅我背了.公司项目是32.6M,我给自己的要求就是低于20M.上周花了一个星期瘦身,至于为什么花了一周,主要是s ...

  7. android apk瘦身方法

    参考文档:天之界线2010   http://www.jianshu.com/p/8f14679809b3 我们在新的android studio2.2中可以看到可以对apk 进行分析了: 我们从中可 ...

  8. Android Apk瘦身方案1——R.java文件常量内联

    R.java 文件结构 R.java 是自动生成的,它包含了应用内所有资源的名称到数值的映射关系.先创建一个最简单的工程,看看 R.java 文件的内容: R文件生成的目录为app/build/gen ...

  9. Android APK瘦身

    随着项目不断地完善,资源不断地增多,导致apk大小越来越大,编译以及安装等待时间越来越长,虽然对应用使用并没有影响,但是用户会越不愿意下载.还有特别是在使用移动网络的时候,用户更不会浪费流量去下载,所 ...

最新文章

  1. “双一流”本科生可得13.2万补贴!这座城市发布重磅人才新政
  2. python窗口程序-窗口程序python
  3. 系统分析与设计结对项目———Wordcount
  4. Java概述、环境变量、注释、关键字、标识符、常量
  5. com+ system application 启动_dubbo启动引导过程(基于2.7.9)
  6. 人工智能修复古董纪录片,还原1920年的北京城生活
  7. python turtle库下载_python turtle库的几个小demo
  8. 挣脱浏览器的束缚(6) - AJAX也跨域名
  9. Science观点:不同细菌物种间极少合作—合理利用细菌间普遍存在的竞争关系来替代抗生素...
  10. GDELT数据库入门与了解(码字中...)
  11. UIUC云计算概念(chord)
  12. html id命名规范,关于Html class id 命名规范
  13. A Survey on Knowledge Graphs___Representation, Acquisition and Applications.知识图谱综述:表示,获取,应用
  14. 利用VMM建立基于事务的层次化验证平台
  15. 【综合类型第 35 篇】程序员的七夕浪漫时刻
  16. Android Studio连接使用第三方模拟器
  17. android简单实现表格布局,Android开发中TableLayout表格布局
  18. Impala简介(整理)
  19. 织梦如何添html5播放器,织梦ckplayer视频播放器插件安装使用教程
  20. 管理员中心-权限部分用户故事

热门文章

  1. 百面机器学习(13)——生成式对抗网络
  2. List、set、Map的底层实现原理
  3. 如何构建一个简单的图书推荐系统
  4. seamless clone
  5. PaddleSpeech:windows下用python快速安装和使用
  6. 2021-07-09 终值定理和稳态误差【自动控制原理】
  7. VantUi 底部Tabbar跳转页面的方法以及产生的Bug问题
  8. 人大金仓数据库的使用心得
  9. jsoup爬取王者荣耀所有英雄背景图片
  10. 毒蛙(Vuze)执行文件Azureus.exe再分析