Andorid资源瘦身去重丶图片压缩丶混淆插件(1)

前介APK 瘦身是很多公司忽略的问题,因为现在网速快速发展以及流量的降费,这个问题也越来越被忽略。但是大项目还是很在意瘦身的,支付宝对瘦身就做到了极致(参考链接)。网上大部分的方案都是:压缩图片减少多余的so删除无用资源代码混淆这些方案大部分都是在编写代码时期做的操作,容易出错和遗漏,我觉得这都算不上什么瘦身只能说是常识。于是我想能不能开发一款插件,在 APK 编译期间对 Apk...
摘要由CSDN通过智能技术生成

前介

APK 瘦身是很多公司忽略的问题,因为现在网速快速发展以及流量的降费,这个问题也越来越被忽略。但是大项目还是很在意瘦身的,支付宝对瘦身就做到了极致(参考链接)。

网上大部分的方案都是:

  1. 压缩图片
  2. 减少多余的so
  3. 删除无用资源
  4. 代码混淆

这些方案大部分都是在编写代码时期做的操作,容易出错和遗漏,我觉得这都算不上什么瘦身只能说是常识。于是我想能不能开发一款插件,在 APK 编译期间对 Apk 进行一系列的优化呢?

Android的Plugin插件

现在的 Android 集成开发工具 Android Studio 构建 APK 是通过 Gralde 脚本去构建,Gradle 完美兼容 Groovy Java Kotlin 语法。所以说 Android Studio 只是一个集成开发工具,没有这个工具我们也能 打包 运行 安装 APK

我们每个项目根路径都有一个 build.gradle 配置文件。开发 Android 根目录里面会配置一个 classpath 'com.android.tools.build:gradle:x.x.x' 的配置。这意思就是要 Android 的编译插件,这里面定义了所有的 Apk打包,签名,安装等的一系列 Task

buildscript {
    ....
    dependencies {
        ....
        classpath 'com.android.tools.build:gradle:x.x.x'
    }
}

classpath 'com.android.tools.build:gradle:x.x.x' 是基于 Gralde 开发的,所以他们是有一个对应版本对象关系的。
一般我们升级自己项目的 Gralde 也需要去升级下 Android 编译插件。查看版本对应关系

最后我们会在项目的 build.gradle 配置使用插件,apply plugin: 'com.android.application'apply plugin: 'com.android.library',也就是使用插件啦。

输出Apk编译的所有Task

根据上面的内容,我们知道了 APK 的打包流程,都是通过 apply plugin: 'com.android.application' 顺序执行 Task 完成的。我们来看看输出的有哪些 Task 吧。

App 项目中 build.gradle 编写以下代码。

project.afterEvaluate {
   
    def tasks = ['preDebugBuild'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值