Android减小Apk包大小的常用方法

2023-10-26

我们之所以要减小apk的大小,一方面是为了节省用户手机的内存;另一方面是为了节省用户在App安装和版本升级时的流量;
直接减小apk文件大小的方法:
1.使用图片压缩工具;
目前常用的工具是:
ImageOptim,压缩效果很好,使用默认配置即可。但是仅有MAC版的;
Tinypng,官网:https://tinypng.com/,也非常简单易用,压缩效果也很好。
2.删除无用的资源文件以及代码;
在Eclipse开发环境下通过Android Lint工具可以找出项目中无用的资源及class文件;在Android Studio环境下,通过右键->Analyze->Run Inspection By Name ->输入”unUsed resource”进行查找;
3.进行混淆。
proguard不仅有增加代码安全性的作用,在混淆过程中还会对代码进行shrink等瘦身优化,这会进一步减小apk的大小;详见官网:https://stuff.mit.edu/afs/sipb/project/android/sdk/android-sdk-linux/tools/proguard/docs/index.html#manual/introduction.html
4.只保留armeabi目录下的so文件
这是一个有争议的方法。在运行性能、手机平台兼容性和ap

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android减小Apk包大小的常用方法 的相关文章

随机推荐

  • python opencv 调用摄像头失败问题的解决 Windows

    省流 内含 Python Opencv 双目相机拍照代码 手动 or 自动 可自取 如果你的 cv2 VideoCapture 函数卡住但不报错 打开 Windows 相机 应用可以正常看到摄像头画面 且能够正常用 cv2 imshow 打
  • python flask api接口开发编程

    使用 Python 和 Flask 设计 RESTful API 近些年来 REST REpresentational State Transfer 已经变成了 web services 和 web APIs 的标配 在本文中我将向你展示如
  • 简述同步和异步的区别

    同步是阻塞模式 异步是非阻塞模式 同步就是指一个进程在执行某个请求的时候 若该请求需要一段时间才能返 回信息 那么这个进程将会一直等待下去 直到收到返回信息才继续执行下去 异步是指进程不需要一直等下去 而是继续执行下面的操作 不管其他进程的
  • do-while(0)语句到底有什么用?

    前言 在一个群里面看到一个人问 do while 0 语句有什么用 do while 0 这个程序最终结果不应该就是程序只跑一次 那么写和不写有什么区别呢 do while 0 在复杂宏定义上的优点 为什么需要复杂宏 1 在讲解do whi
  • 反射的补充

    反射可以绕过编译阶段为集合添加数据 反射是作用在运行时的技术 此时集合的泛型将不能产生约束了 此时可以为集合存入其他任意类型的元素 泛型只是在编译阶段可以约束集合只能操作某种数据类型 在编译成Class文件进入运行阶段时 其真实类型都是Ar
  • 数据结构与算法笔记:计算思维之经典农夫过河问题C++实现

    农夫 羊 狼 菜的过河问题 问题描述 角色 农夫 羊 狼 菜 条件1 船很小 只能装下农夫和其他一个角色 条件2 无人看管 羊吃菜 狼吃羊 问 如何让其他三种角色被农夫平安带着过河 相关分析 我们可以先用人脑尝试一下相关渡河策略 1 先渡狼
  • 基于 itemCF (item collaborative filtering) 推荐(基于物品的协同过滤算法)的理解

    推荐系统 一般是用于电商 广告 内容 信息流等推荐平台 以挖掘数据的最大价值 可以提升用户粘性和转化率 而本文提及到的基于内容的协同过滤算法就是一个经典的算法 基本思想 首先 什么是协同呢 协同在这里指的就是 用集体的智慧来为个体过滤出他需
  • C++程序员应了解的那些事(117)~进程、线程、协程

    相关博文 程序员应了解的那些事 111 进程 线程及堆栈关系 线程堆栈 so what的博客 CSDN博客 概念与区分 1 进程 进程是程序一次动态执行的过程 是程序运行的基本单位 每个进程都有自己的独立内存空间 不同进程通过进程间通信来通
  • angular路由传参和获取路由参数的方法

    1 首先是需要导入的模块 import Router from angular router 路由传参用到 import ActivatedRoute Params from angular router 获取路由传参用到 2 第二步 注入
  • 3DMAX、MAYA、C4D区别

    一 3Dmax 优势 1 3DMAX主要面向建筑动画 bai建筑漫游和室内设计 用于室du内和室外渲染的基本建zhi模 材料分配 映射使用和照明创建的图形文件 2 3DMAX软件的应用主要是动画制作 游戏动画制作 建筑效果图 建筑动画等 3
  • STL——list详解

    一 list基本使用 1 1 初始化 在C 11之前 std list容器没有提供初始化列表的构造函数 因此需要使用push back或push front函数向列表中添加元素 以下是一些常见的std list初始化方式 使用默认构造函数创
  • javascript对任意颜色获取更亮或更暗的颜色值

    预处理CSS 比如Sass和less可以通过设定一个特定值 让任何颜色变得更亮或者更暗 但是在javascript中却没有这种方法 下面这个方法能在javascript中得到一个更亮或者更暗的值 通过一个给定的十六进制颜色值 比如 F06D
  • 【数据分析】基于RFM模型的线上零售中的客户细分(二):RFM模型实战

    基于RFM模型的线上零售中的客户细分 二 摘要 在上一篇博客 基于RFM模型的线上零售中的客户细分 一 客户细分 中 我们了解了什么是客户细分 这篇博客将会结合具体的商业实例介绍同期群分析 RFM模型 并利用K Means聚类算法在RFM模
  • 【已解决】XAMPP无法启动mysql

    最近在学习安卓开发 为了免于自己搭服务器 选择连接到XAMPP的mysql数据库 在这贴出自己遇到的一些问题 It seems that the port 3306 is already in use aer you sure you wa
  • ubuntu系统安装Anaconda与使用入门

    一 什么是Anaconda Anaconda是一个开源的Python发行版本 包含了conda Python等180多个科学包及其依赖项 可以用于包管理器和环境管理 比如A项目中用了Python2 而B项目使用Python3 而同时安装两个
  • Pygame实战:Python开挂版无敌小恐龙【源码免费领】

    导语 hi 大家好呀 你们还记得 很久很久以前 那只谷歌断网之后的
  • 通俗解释卡尔曼滤波

    汽车位置p和速度v例子 有点矩阵 https blog csdn net codesamer article details 81191487 飞机速度和位置 跟上面差不多 但是无矩阵 https blog csdn net varysha
  • nexus 搭建maven私服

    环境是 nexus 2 7 0 maven 3 1 1 jdk 1 7 45 CentOs 6 2 一 首先从首先从 http nexus sonatype rog downloads 下载最新版的Nexus 目前最新的版本是 nexus
  • Docker学习(23)——Docker 三剑客之 Docker Swarm集群(图形化界面管理swarm集群、添加服务等等,更方便)

    搭建过程如下 这个是基于上一片篇文章写的 1 在server1上面清空之前的所有的web服务和监控服务 我们接下来使用更加牛逼的图形化管理界面 比命令 文件的部署方式简单多了 2 可以看到server2 server3 server4上面的
  • Android减小Apk包大小的常用方法

    我们之所以要减小apk的大小 一方面是为了节省用户手机的内存 另一方面是为了节省用户在App安装和版本升级时的流量 直接减小apk文件大小的方法 1 使用图片压缩工具 目前常用的工具是 ImageOptim 压缩效果很好 使用默认配置即可