首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在80%的Apk大小是由第三方库导致的情况下减小Apk大小?

在80%的Apk大小是由第三方库导致的情况下,我们可以采取以下方法来减小Apk大小:

  1. 移除未使用的库和资源:通过检查和分析项目的依赖关系,找出并移除没有使用到的第三方库和资源文件,以减少Apk的体积。可以使用工具如ProGuard或R8进行代码混淆和移除未使用的代码。
  2. 使用精简版本的第三方库:有些第三方库提供了针对性的精简版本,只包含最基本的功能,可以选择使用这些版本来减小Apk的体积。
  3. 压缩资源文件:通过使用工具如TinyPNG来压缩图片资源,使用工具如OptiPNG来压缩PNG图片,使用工具如JPEGMini来压缩JPEG图片等,来减小资源文件的大小。
  4. 使用动态特性模块化:将一些功能模块根据需要进行动态加载,而不是将所有功能都打包在主Apk中。这样可以根据用户需求进行动态安装,减小主Apk的大小。
  5. 使用增量更新:针对已安装的用户,使用增量更新的方式来更新Apk,只传输修改的部分文件,减少网络传输的数据量。
  6. 优化资源文件:对于图片资源,可以采用渐进式加载、WebP格式等来优化图片,减小文件大小。
  7. 使用代码混淆和压缩:使用工具如ProGuard或R8进行代码混淆和压缩,减小代码的体积。
  8. 使用资源压缩工具:使用工具如AndResGuard进行资源压缩,移除未使用的资源文件,减小资源的大小。
  9. 优化代码和算法:对代码进行优化,减少不必要的计算和内存使用,优化算法,降低代码的复杂度。
  10. 使用动态库:将一些常用的功能和库打包成动态库,在运行时进行加载,减小Apk的体积。
  11. 使用分包策略:将Apk拆分成多个模块,根据功能进行分包,只加载需要的模块,减小Apk的体积。

推荐腾讯云相关产品:

  • 对于代码混淆和压缩:腾讯云移动应用安全保护(https://cloud.tencent.com/product/tcap)
  • 对于资源压缩工具:AndResGuard(https://github.com/shwenzhang/AndResGuard)
  • 对于动态加载:腾讯云动态加载(https://cloud.tencent.com/product/hotfix)
  • 对于分包策略:腾讯云应用分发(https://cloud.tencent.com/product/tappdistribute)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

APK瘦身-时候给App进行减负了!

前言 APK瘦身即是对APK大小进行压缩策略,减小APK安装包大小,更小安装包更有助于吸引用户安装。前一段时间我司某一App进行APK瘦身,最终也达到了减小10M目标,现做一个简单总结记录。...由此,如果我们想减小lib目录大小,无非就如下一些常见策略。 ? so裁剪、删除 对App引入so文件进行确认哪些不需要,哪些可以进行裁剪压缩,哪些可以避免引入。...动图功能,然后减少Fresco依赖,同样可以减小so大小。...删除无用语言 大部分应用都不需要支持几十种上百种语言,所以在我们引用一些第三方时(Google、Facebook),它们往往带有上百种多语言资源,而大部分多语言对于我们自己应用是没有用处,...我们只需要在build.gralde里面进行如下配置即可完成无用语言资源删除,这样在打包时候就会排除私有项目、android系统第三方中非中文资源文件了,效果还是比较显著

1.2K30

六个小技巧帮你瘦身Android APK

矢量图形:尽量使用矢量图形(SVG),而不是位图。矢量图形可以无损缩放,不会导致图像质量损失。...通过精简和优化代码,可以减小APK文件大小。 代码混淆:使用ProGuard或R8进行代码混淆,删除未使用类和方法,减小APK文件大小。...移除未使用和依赖项,可以显著减小APK体积。 资源优化:使用向量图标代替位图图标,减小图标资源大小。同时,删除未使用资源文件。...这有助于将APK文件初始大小保持较小。 动态交付:将应用功能模块划分为可下载模块。根据用户需求,只下载所需模块,减小初始APK大小。...压缩工具:使用APK压缩工具,APKTool来手动优化APK文件,删除未使用资源。 结论 APK瘦身Android应用开发中关键任务,可以提高应用性能和用户体验。

57220
  • Android APK 瘦身 - JOOX Music项目实战

    如图,我们只需要将要分析APK拖入到Android Studio中,通过该工具我们可以清楚观察到我们APK中各个部分所占比重是多少,而且通过目录索引我们可以快速定位出导致APK变大哪些文件从而加快我们...对于大多数APP来说,基本上图片资源主要都是PNG和JPG来组成,PNG和JPG最常见图片格式了,这里我就不做过多介绍了。...而且,有时候我们可以通过减少第三方SDK升级或JAR更换来减小APK大小,毕竟一般来说,SDK只会越来越大(毕竟加了新特性),如果我们能确定当前版本JAR包或者SDK继续使用下去没问题的话可以选择不用替换...可以去官方那了解更多: https://www.guardsquare.com/en/proguard f) 这里总结一下如何从代码方面减小APK大小: 删除无用代码,无用JAR包,无用so 对于使用到第三方...通过本文可以看见,转换成WebP之后图片不仅占用空间小,最主要生成APK减小了很多。通过本次减包,在图片方面JOOX大约减5M左右APK大小,效果不是一般好哦。

    1.2K60

    你必须要懂APK瘦身知识

    了解应用程序APK结构对于我们来说很有帮助。APK文件一个ZIP存档组成,其中包含组成应用程序所有文件。这些文件包括Java类文件,资源文件和包含编译资源文件。...减少第三使用 随着业务频繁变更以及复杂度增加,我们往往会使用第三方Libaray,有时候我们可能仅仅用到了很少一部分功能,这个时候就需要慎重考虑完全引用。...从我开发经验上来讲,宁愿参照自己去实现,也不愿意多引入一个第三方。 避免枚举 一个枚举可以为您应用程序classes.dex文件添加大约1.0到1.4 KB大小 。...它包括相同 ProGuard 规则,但还包括其他在字节码一级(方法内和方法间)执行分析优化,以进一步减小 APK 大小和帮助提高其运行速度。...移除未使用备用资源 我们知道google给我们apk提供了国际化支持,适应不同屏幕分辨率drawable资源,还有适应不同语言字符串资源等等,但是在很多情况下我们只需要一些指定分辨率和语言资源就可以了

    75030

    关于Android开发你必须要懂APK瘦身知识

    了解应用程序APK结构对于我们来说很有帮助。APK文件一个ZIP存档组成,其中包含组成应用程序所有文件。这些文件包括Java类文件,资源文件和包含编译资源文件。...减少第三使用 随着业务频繁变更以及复杂度增加,我们往往会使用第三方Libaray,有时候我们可能仅仅用到了很少一部分功能,这个时候就需要慎重考虑完全引用。...从我开发经验上来讲,宁愿参照自己去实现,也不愿意多引入一个第三方。 避免枚举 一个枚举可以为您应用程序classes.dex文件添加大约1.0到1.4 KB大小 。...它包括相同 ProGuard 规则,但还包括其他在字节码一级(方法内和方法间)执行分析优化,以进一步减小 APK 大小和帮助提高其运行速度。...移除未使用备用资源 我们知道google给我们apk提供了国际化支持,适应不同屏幕分辨率drawable资源,还有适应不同语言字符串资源等等,但是在很多情况下我们只需要一些指定分辨率和语言资源就可以了

    1.1K40

    Android性能优化系列之apk瘦身

    使用provided可以保证代码编译通过,但是实际打包中并不引用此第三方,实现了控制APP大小目标。 但是也同时就需要开发者自己判断不引用这个第三方时就不要执行到相关代码,避免APP崩溃。...矢量图 矢量图点与线组成,和位图不一样,它再放大也能保持清晰度,而且使用矢量图比位图设计方案能节约30~40%空间,现在谷歌一直在强调扁平化方式,矢量图可很好契合该设计理念。...避免重复 避免重复看上去理所当然,但是秘密总是藏很深,一定要当心你引用第三方又引用了哪个第三方,这就很容易出现功能重复了,比如使用了两个图片加载:Glide和Picasso。...通过查看exploded-aar目录和External Libraries或者反编译生成APK,尽量避免重复大小减小APP大小。...清理第三方和冗余代码 版本迭代过程中,因为删减功能经常有冗余代码和第三方留下,这或多或少都会增加包体,这种情况没有捷径,只能每个文件查找,这是苦力活。

    1.1K30

    Android APP 终极瘦身指南

    前言 APK瘦身即是对APK大小进行压缩策略,减小APK安装包大小,更小安装包更有助于吸引用户安装;虽然说APK瘦身对于Android对应用可分配内存限制影响不大,但是还是有一些影响。...第17条:避免重复 避免重复看上去理所当然,但是秘密总是藏很深,一定要当心你引用第三方又引用了哪个第三方,这就很容易出现功能重复了,比如使用了两个图片加载:Glide和Picasso...通过查看exploded-aar目录和External Libraries或者反编译生成APK,尽量避免重复大小减小APP大小。...第18条:使用更小 同样功能大小不同,甚至会悬殊很大。 如果并无对某个库特别需求而又对APP大小有严格要求的话,比较这些相同功能第三方大小,选择更小减小APP大小。...总结 App瘦身一个长期过程,建议可以进行每个版本对APK大小进行监控,列出增加和减小点,做到持续统计和追踪,从而给公司带来效益。

    2.7K10

    Android性能优化(十)之App瘦身攻略

    4.3 对图片进行压缩 之前我在项目里发现过文件大小过1M图片,可能由于UI同学和RD同学双重疏忽,导致如此大图片到了项目中,对Apk体积影响自然不言而喻。...SVGW3C制定,一个开放标准。可以使用矢量图形来创建独立于分辨率图标和其他可伸缩图片。...每一个Android应用所支持ABIAPK提供.so文件决定,这些so文件被打包在apk文件lib/目录下。 So常见场景:加解密算法、音视频编解码、核心代码等。...理论上对应CPU架构So执行效率最高,但是这样会导致在libs目录下放置各个架构平台So文件,Apk文件大小自然也就更大了。...Android平台对Apk安装包解压算法只支持Deflate算法,其它算法LZMA,虽然压缩率更好,但是由于Android平台默认不支持,所以如果采用这种算法压缩Apk,会导致Apk无法安装。

    1.7K30

    深入探索 Android 包瘦身(上)

    所以,安装包大小与下载转化率关系 大致成反比 ,即安装包越大,下载转换率就越小。一个 80MB 应用,用户即使点了下载,也可能因为网络速度慢、突然反悔导致下载失败。...如下,就是一个基本模块和两个动态功能模块组成 Android App Bundle APK 组成结构图: ?...虽然从减少 APK 大小来看,0.1MB 很少,但是比例并不小,如果你负责一个像微信、淘宝等规模 App,它们体积一般都将近 100MB,使用 R8 后也能减小 1.5MB 大小。...同时,在选择第三方 SDK 时候,我们可以将包大小作为选择指标之一,我们应该 尽可能地选择那些比较小来实现相同功能。...很多代码结构都设计比较好,比如 Fresco,它将图片加载各个功能, webp、gif 功能进行了剥离,它们都处于单个当中。

    2K30

    Android APK瘦身实践:二次瘦身如何再减少大小?(4M—2.9M)

    所以,要考虑问题,是否有必要保证如此大小?能否缩小?如果这方面能减小的话,apk瘦身效果必然又会上一个档次。 5. 覆盖aar里一些默认大图 一些aar库里面包含根本就没有用图。...打包成emoji_v1.zip, 大小202k。 现在把emoji_v1.zip放到网上,按需下载后使用,最终对比结果如下: ? apk减小了193k。 13....全版本兼容着色方案 考虑着色方案主要目的更方便支持多主题,减轻UI工作量,减少工程里一大堆selector文件等,然后才是,顺便减小一下apk大小。...自己工程使用UIL,但是引入第三方引用了picasso,两个重复图片下载也是完全没用必要。 现在还没有处理这块,新任务介入,延期优化,敬请期待。 ? 15....一般情况下不会有问题,测试了一下效果,apk减小了78k。 这里作为候选方案备用。 小结 最终,我们成功apk压到了2.9M,如果把上面遗漏步骤继续再做,应该还能再减小一点。

    1.8K10

    从新手到架构师,一篇就够!《Android性能优化—实战解析》

    这样既可以减少zxing大小,也可以加快zxing处理一帧数据速度。...安卓应用安装包(apk文件)中dex保存应用代码,占有可观体积。如果能够将这一部分体积减小,那么无疑会有效地减小安装包体积。...首次启动时间减少80% 抖音BoostMultiDex优化实践:Android低版本上APP首次启动时间减少80%(二) 携程Android 10适配踩坑指南 抖音包大小优化-资源优化 随着业务快速迭代...包大小直接影响到下载转化率、推广成本、运行内存和安装时间等因素,因此对 apk 进行瘦身一件很有必要且收益很大事情。...2——虚拟内存浅析 全民K歌内存篇3———native内存分析与监控 一种按照library维度进行Android包大小分析方法和实践 网易新闻构建优化:如何让你构建速度"势闪电"?

    1.3K40

    安卓应用告别APK格式

    它包含应用支持所有设备代码和资源,例如 DEX 文件、本地代码、清单文件、各种资源文件等。...更棒,当设备配置 (语言) 发生变化时,Google Play 会检测到它,并下载该语言配置 APK。...一些开发者甚至可以将他们 APK 大小减半,而一些知名 app 使用 App Bundle 减小应用体积数据也有放出来。...可目前,使用 Split APK 应用程序,用户无法直接提取安装,都需要借助第三方工具来备份安装。这意味着,未来用户在非谷歌应用商店第三方平台,下载安装应用会越来越困难。...签名相当于打上唯一电子标签,因此,如果应用被以非正常方式提取分享,就可能导致签名改变,最终影响应用运行。除非,开发者自行在第三方平台提供完整应用安装包。

    1.5K40

    Matrix-ApkChecker — Apk 分析减包利器

    读取 manifest 信息 从 AndroidManifest.xml 文件中读取 apk 全局信息, packageName、versionCode 等 2....检查是否经过了资源混淆(AndResGuard) 检查 apk 是否经过了资源混淆,推荐使用资源混淆来进一步减小 apk 大小 5....检查是否包含多个ABI版本动态 so 文件大小可能会在 apk 文件大小中占很大比例,可以考虑在 apk 中只包含一个 ABI 版本动态 7....搜索 apk 中未经裁剪动态文件 动态经过裁剪之后,文件大小通常会减小很多 示例分析 下面,我们对一个示例 apk 使用 Matrix-ApkChecker 进行检查,并根据检查结果进行针对性减包优化...CountRTask 可以统计 R 类以及 R 类 field 数目 实现方法:同样利用 com.android.dexdeps 类来读取 dex 文件,找出 R 类以及 field 数目。

    4.4K40

    如何优化您 Android 应用(Go 版)

    以下关于如何保持 APK 较小一些建议: **使用新 Android App Bundle 去查看大小....任何音质损失都不应该被大多数用户感觉到,并且仍然会以较少资源提供高质量回放/音频聆听体验。 确保使用最新并且必要。考虑删除重复并更新废弃。...考虑进一步优化代码以减小 APK 大小。了解更多关于减少代码信息,并查看我们为数十亿用户打造产品指导方针中相关细节。...然后,我们使用 Gradle 脚本将这个 Go-edition APK 以及我们常规 APK 打包,所有这些都来自相同代码。我们还使用尺寸更小虚拟图像覆盖了第三方图像。...所有这些行为导致 Android Go APK 大小减少 8.8MB,而普通 APK 大小为 43MB。

    1.8K20

    Android App包瘦身优化实践

    随着业务快速迭代增长,美团App里不断引入新业务逻辑代码、图片资源和第三方SDK,直接导致APK体积不断增长。...包体积增长带来问题越来越多,CDN流量费用增加、用户安装成功率降低,甚至可能会影响用户留存率。APK瘦身已经不得不考虑事情。...APK构成 可以用Zip工具打开APK查看。比如,美团App 7.8.6线上版本格式这样: ? 可以看到APK以下主要部分组成: ?...大体有如下套路: 时刻保持良好编程习惯和对包体积敏锐嗅觉,去除重复或者不用代码,慎用第三方,选用体积小第三方SDK等等。...它包括相同ProGuard规则,但还包括其他在字节码一级(方法内和方法间)执行分析优化,以进一步减小APK大小和帮助提高其运行速度。

    1.6K30

    成功逆袭:越来越胖怎么能忍,我APK瘦身之路!

    本文主要是介绍APK瘦身中用到一些方法。 APK分析 既然要优化APK大小,那首先就得看下APK文件构成。...只保留"zh-rCN", "zh-rHK", "zh-rTW", "en" 减少不必要语言(80种减到5种,有一个default)apk可减少0.61M ?...资源混淆 开源解决方案AndResGuard可以看下,通过使用段路径和压缩可以减小apk,需要注意项目中某些资源需要keep,减少了1.5M。...其他 极端情况下可以考虑以下两种方式,可以优化约1M空间 debug信息 一般我们会配置Proguard保留行号等信息用于线上日志分析,极端情况下也可考虑移除这部分,会有5%-10%效果,可以减少了...2、使用ReDex优化,这是Facebook开源一个减小安卓app大小以提高性能工具,集成的话有风险需要多测试,教程。 3、减少java隐藏开销,比如一些自动生成函数等。

    73420

    Dynamic Feature 上线 1 年实践分享

    这些 APK 看起来长这样: 那 Dynamic Feature APK 怎么生成呢? Google Play 用我们在上架时提供 AAB 包和提前上传签名文件生成。...产品上架一款小游戏,大小约 5MB,且依赖 so ,而且是非核心使用场景,就非常适合动态下发。...减小 APK 体积可以提高下载转化率,降低市场推广成本。 2....但这不排除可能工程特殊性,底层资源过多,或一些特殊 gradle 配置,导致耗时反而增加。 2.2.6 疑问:Dynamic Feature 更新逻辑怎样?...出现哪种表现与包体积大小有关,具体逻辑 Google Play 控制,具体条件为黑盒。但根据上报发现,弹窗占比极低(≈0.12%)。

    21310

    Kotlin 语言入门宝典 | Android 开发者 FAQ Vol.5

    导语: 官方出 FAQ ,kotlin兼容 java 6.0 jvm 语言,此篇 FAQ 中,大概需要重点关注大概 APK 影响吧: Kotlin 在运行时可能会在您 debug APK...中增加 7000 个方法和 1M 大小,如果您使用 Kotlin 替换 Guava、RxJava 等其他,影响可能会小一些。...但是您可以在后期通过 ProGuard 来优化减小大小。 ? 随着 Kotlin 快速崛起,我们注意到越来越多开发者开始关注这个新兴语言。...比如,Kolint 使用某些第三方可能使用与 Apache 2.0 兼容其他开源协议。 在 Kotlin 和 Java 之间我应该如何选择?...Kotlin 在运行时可能会在您 debug APK 中增加 7000 个方法和 1M 大小,如果您使用 Kotlin 替换 Guava、RxJava 等其他,影响可能会小一些。

    2.5K60

    浅谈extractNativeLibs

    如果设置为 “false”,则原生以未压缩形式存储在 APK 中。虽然您 APK 可能较大,但应用应该加载得更快,因为在应用运行时直接从 APK 加载。   ...第二句和第三句,如果设置为false,apkSO文件在打包时将会以未压缩形式出现,这样系统在加载APK同时也会将SO文件映射到内存中而无需进行解压缩,提高加载速度;同时由于SO文件未被压缩所以会导致安装包尺寸会变大...在大多数情况下,默认行为很可能符合您预期,您无需显式设置此属性。   ...可以知道extractNativeLibs在打包时默认值会由打包工具自动根据情况设定,比如我在compileSdk 31; minSdk 23; targetSdk 31情况下,extractNativeLibs...如需了解详情,请参阅版本说明使用 DSL 打包压缩原生。 我们建议以未压缩形式打包原生,因为这会减小应用安装大小,缩减应用下载大小,并缩短用户应用加载时间。

    5.5K31

    Matrix-ApkChecker实际应用

    为了保证用户使用体验,避免因为安装包过大,导致新用户不能/不想下载、使用时出现异常问题,经常进行安装包体积缩减十分有必要。 那么我们应该怎样进行包体优化呢?...ApkChecker 方便之处在于它虽然Matrix 系统一部分,但是它以一个单独jar包形式提供,可以直接通过命令行执行, 也就意味着可以在不使用Matrix 系统情况下,单独使用ApkChecker...值,我们可以利用结果数据计算出可以通过删除重复文件而减小空间大小 ?...9、UnStrippedSoCheckTask: 搜索apk中未经裁剪动态文件 (TaskTypeId:14) so 文件大小会在Apk文件大小中占较大比例,经过裁剪后,文件大小减小很多。...当然,RD同学辛辛苦苦优化了一些问题,如果有删除、修改 导致Apk包体缩小,也是要鼓励一下人家

    1.1K20
    领券