APK大小的瘦身的总结:

首先是看了博客:http://blog.youkuaiyun.com/sw950729/article/details/64919051 
时,觉得大神我就是马云飞写的很有道理,所有自己就自己写了一遍,长话短说: 
在实际开发中,特别是多人接手迭代开发的项目中,随着时间的推移,项目会越来越大。所以让项目大小变小是可以如下操作:

1,在gradle使用minifyEnabled进行Proguard混淆的配置,可大大减小APP大小,如以下代码:

buildTypes {
        release {
            //开启混淆(as自带默认配置)
            minifyEnabled ture
            //去出无用的资源文件
            shrinkResources true
            //移除无用的Resources的资源文件
            zipAlignEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

2,删除无用资源,主要是xml文件,操作–点击Analyze——>Run Inspection by Name–然后输入unused Resources即可显示出未使用的资源文件,其操作步骤为: 
这里写图片描述

这里写图片描述

这里写图片描述

3,图片瘦身值熊猫大法–使用tinypng压缩图片,官方网站:https://tinypng.com 
PNG是有用的,因为它是唯一广泛支持的格式,可以存储部分透明的图像。格式使用压缩,但是文件仍然可能很大。使用TinyPNG缩小您的应用程序和网站的图像。它将使用更少的带宽和更快的加载。图片就不截取出来了,大家可以直接去官网查看了解。

4,通过重构Refactor来删除无用的资源(通过id找到),具体操作如下 
通过Remove Unused Resources来删除无用的资源 
这里写图片描述

这里写图片描述 
其中Refactor表示直接重构,Preview表示预览的意思,建议大家先使用预览的方式,因为代码中引用方式不同,所以存在代码中使用了某个资源,但是依然被当成没有引用的情况,例如通过使用getIdentifier、Uri等方式。

5,针对不同cpu的so库进行打包,目前仍就在试验当中 
armeabi、armeabi-v7a(32的cpu),armeabi-v8a(64位的cpu)和x86, 
在其安装设备中,是默认以armeabi为选项,同时需要指出:打包出的x86的so,总会比armeabi平台的体积更小,但是却有性能的损耗。

如果项目只包含了 armeabi,那么在所有Android设备都可以运行; 
如果项目只包含了 armeabi-v7a,除armeabi架构的设备外都可以运行; 
如果项目只包含了 x86,那么armeabi架构和armeabi-v7a的Android设备是无法运行的; 
如果同时包含了 armeabi, armeabi-v7a和x86,所有设备都可以运行,程序在运行的时候去加载不同平台对应的so,这是较为完美的一种解决方案,同时也会导致包变大。 
所以其操作为: 
5.1为了减小apk体积,只保留armeabi和armeabi-v7a两个文件夹,并保证这两个文件夹中so数量一致。 
2,对只提供aremabi版本的第三方so,原样复制一份到armeabi-v7a文件夹 
以上!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值