添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
本文讲述了开发者如何通过分析和优化Android应用,从删除不必要的依赖如material库、调整build配置,到使用dex2jar、混淆等技术手段,将一个2.8MB的包压缩到853KB,详细展示了包体积缩小的过程和关键步骤。 摘要由CSDN通过智能技术生成

最近要开新项目,建了一个新工程,完事运行一下编个包,不看不知道,一看吓一跳,一个新工程,啥都没干,编出来的包由2.8MB。

作为一个技术研发,我感觉受到了很深的伤害,让我想起来了强壮狗和虚弱狗的表情包

不能忍啊,我一定要给它瘦身!

先看看包的各部分组成,拖进AndroidStudio里

dex文件比较大,我们就先从dex开始优化,用第dex2jar反编译一下dex

可以看到,除了我自己目录下的三个类之外,v4包下边只有寥寥数个类,占用空间不大。由于targetSDK版本比较高,没办法干掉AndroidX引用,其他的其实都可以优化掉,因为目前我并没有必须用到。

删除material

删除layout中的ConstraintLayout

删除build.gradle中的引用

删除style文件中的material的相关Theme 引用

再次打包,包大小变为1.3MB

可以看到dex文件、res和resource.arcs都有明显的减小

其实还可以通过混淆进一步减少包体积

增加完混淆之后,apk包体积变为853KB,嗯,感觉在可接收范围内了

AndroidStudio -压缩 apk 1、概述2、打开压缩、混淆、优化功能3、R8的配置文件3.1 概述3.2 添加额外配置文件4、压缩代码4.1 概述4.2 自定义keep规则5、精化本地库5.1 概述5.2 支持本地代码crash分析6、压缩资源6.1 概述6.2 自定义需要保留的资源6.3 使能严格的相关检查6.4 删除无用的供选择的资源6.5 合并重复的资源7、混淆代码7.1 概述7.2 解析混淆代码后的栈信息8、代码优化9、分析解决使用R8的问题 注: 一下文中app压缩功能,均指And
APK 结构如下: lib/: 含特定于处理器软件层的编译代码。该目录 含了每种平台的子目录,像armeabi,armeabi-v7a, arm64-v8a,x86,x86_64,和mips。大多数情况下我们可以只用一种armeabi-v7a,后面会讲到原因。 assets/: 含应用可以使用AssetManager对
前言:不啰嗦 ,直接先把总结方法贴出。然后重点说多渠道 打包 APK 瘦身 : 1、将项目资源中用到的大图进行压缩处理。 可以网上搜索在线图片压缩,好的压缩工具可以让图片仍然保持清晰不模糊。 2、清除项目中无用的资源文件。比如已经不被引用的图片\图标、shape控件背景文件、layout布局文件、class文件等。 3、如果应用在4.0版本以上,可以将图片转换webp格式。 4、另外 打包
Android Studio 我装到了E盘,但是有很多数据还是在C盘,导致系统盘空间不足,做以下迁移: 1. 迁移 Android SDK到其他盘 我的 Android SDK装在了C盘,占用空间很大,可迁移出去后,然后修改环境变量 ANDROID _HOME和 Android Studio 中的配置即可。 迁移sdk C:\Users\apollo\AppData\Local\ Android \Sdk 迁移...
docker: Error response from daemon: failed to create task for container: failed to create shim task: 10932