美文网首页
Android Apk包瘦身

Android Apk包瘦身

作者: 竖起大拇指 | 来源:发表于2020-03-05 16:00 被阅读0次

首先我们来了解Android编译打包流程

1.Android编译打包流程及APK构成

image.png

1).通过Java编译器对于工程本身的java代码进行编译,产出.class文件。这些java代码有三个来源:app源代码;由资源文件生成的R文件(aapt工具);以及有aidl文件生成的java接口文件(aidl工具)。
2).通过dex工具将上一步生成的.class文件和依赖的第三方库的.class,生成Dalvik虚拟机可执行的.dex文件
3).通过apkbuilder工具将.dex文件和编译后的资源文件生成未签名对齐的apk文件。(这里编译后的资源文件包括两部分,一部分是由aapt编译产生的编译后的资源文件,而是依赖的三方库里面的资源文件)
4).通过JarSigner和zipalign对apk文件进行签名和对齐,生成最终的apk文件。
5).所谓对齐,主要过程是将APK包中所有的资源文件距离文件起始偏移为4字节整数倍,这样通过内存映射访问apk文件时的速度会更快。对齐的作用主要是为了减少运行时内存的使用。

APK构成

image.png

2.Apk包瘦身

1)资源瘦身

对于图片资源
使用更高压缩率的文件格式(使用Shape XML,Color,WebP替代PNG,JPG。WebP对大图片特别有用)
Lint去除未引用资源
去除无用的语言资源 列如appcompat库中会包含多国的语言资源,但是我们的app主需要支持中文,可以使用resConfig去除不会使用的语言资源

apply plugin: 'com.android.application'
android {
    compileSdkVersion rootProject.compileSdkVersion
    defaultConfig {
        resConfigs "zh-rCN", "en-rUS"
    }
    lintOptions {
        abortOnError false
    }

}

开启shrinkResources

2)代码瘦身

内部代码清理
定期情能力已废弃,未引用的代码
清除无用的jar包或者依赖
移除重复的框架等

3)Native瘦身

去除不必要的硬件平台对应的so文件。目前市面上大部分都是armeabi架构,我们只需要支持armeabi-v7就行了。

ndk {
            abiFilters 'armeabi-v7a'
        }

相关文章

  • Android Apk包瘦身

    目录 1、Android 编译打包流程2、Apk包瘦身 1、Android 编译打包流程及APK构成 1.1、An...

  • Android Apk包瘦身

    首先我们来了解Android编译打包流程 1.Android编译打包流程及APK构成 1).通过Java编译器对于...

  • app性能优化

    Android冷启动时间优化 Android开发——避免内存泄露 APK瘦身实践 APK瘦身记,如何实现高达53%...

  • Android应用瘦身实践

    参考文章 APK瘦身记,如何实现高达53%的压缩效果 Android APP终极瘦身指南 优化效果 优化前包大小是...

  • APK瘦身 减小APP体积

    APK dex瘦身 APK res瘦身 APK减小语言包 APK 重新打包 PNG转JPG tiny处理png w...

  • apk瘦身

    Android性能优化之APK瘦身详解(瘦身73%) - 简书

  • APK瘦身

    参考文章: 给APK瘦身 Android安装包相关知识汇总 安装包立减1M--微信Android资源混淆打包工具A...

  • apk dex vdex odex art 区别

    apk APK(Android package):android安装包,由aapt(Android Assert ...

  • android文章精选 - 收藏集 - 掘金

    Android APK 瘦身 - JOOX Music 项目实战 - Android - 掘金导语 JOOX Mu...

  • android apk 瘦身整理

    android apk 瘦身整理 @(android)[图片, resource.aresc, 代码库优化 , 代...

网友评论

      本文标题:Android Apk包瘦身

      本文链接:https://www.haomeiwen.com/subject/lzrfrhtx.html