减小Android打包后的apk大小(webpPlugin-太大apk的福音)

一.使用前提条件:

首先需要增加webp的环境配置:
通过https://storage.googleapis.co...
下载你对应的电脑的webp的压缩包,解压,将其添加到path路径下,比如我的电脑是windows的64位系统,配置的path路径为:D:\libwebp-0.6.0-windows-x64\libwebp-0.6.0-windows-x64\bin。配置好了,你可以打开terminal,输入cwebp,看下能否找到这个命令,如果能找到就证明环境配置成功了。

二.使用方式,根目录的build.gradle增加

buildscript {
    repositories {
        maven {
            url "https://plugins.gradle.org/m2/"
        }//新增maven地址
    }
    dependencies {
        classpath "gradle.plugin.org.wellijohn.androidwebpconvert:webppluginlibrary:1.1.13"//增加库地址
    }
}

在app根目录下的build.gradle增加apply plugin: "org.wellijohn.androidwebp"引入webp插件

三.可通过app下面的build.gradle进行配置压缩比率,配置是否需要进行webp转换

androidwebp {//注意应该放在最外层
    isOpen true //控制是否需要进行webp转换,因为在开发环境可能因为转化耗费时间,true代表进行webp转化。
    quality 70 //设置压缩比率是70
}

四.原理

通过我们在构建gradle的时候,其中的mergeResources之后,进行遍历资源路径,找到png的图片进行控制台命令进行转换webp,如果成功了,我们将原来的png图片进行删除。

五.使用的效果

在一个生产的项目中,我们如果对其进行webp转换,如果没有webp的情况,

减小Android打包后的apk大小(webpPlugin-太大apk的福音)_第1张图片

然后开启webp,这个时候减少了800KB左右:

使用webp plugin

当然这只是一个测试项目,我之前放在生产的项目中,可以减少3M左右,欢迎各位亲们使用,同时也能提出点改进意见。
六.注意点

当然你们的项目在使用webp插件的情况,首先需要确认4.3之前系统是否有使用,因为webp的使用在Android4.3之前的系统情况下,使用webp会失去透明度,如果你们的使用都是在4.3系统以上,那就放心使用吧。

你可能感兴趣的:(减小Android打包后的apk大小(webpPlugin-太大apk的福音))