首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Gradle
订阅
Flywith24
更多收藏集
微信扫码分享
微信
新浪微博
QQ
8篇文章 · 1订阅
Gradle(10)一篇文章看懂 v1/v2/v3 签名机制
在打生产包时,一定需要对 apk 签名,那么你知道为什么要给应用签名吗?在这篇文章里,我将分析 Android apk 的签名机制,并介绍 v1、v2 和 v3 三种安装包签名方案的原理与演进。
【Android 修炼手册】常用技术篇 -- 聊聊 Android 的打包
clone CommonTec 项目,其中 simpleapk 是本文用到的示例。 我们现在大部分开发都是基于 Android Studio 进行的,在 AS 中,我们只需要点击 Run 按钮,AS 自动会打包 Apk 安装至设备中并运行。对于我们来说,其中的打包过程就是一个黑…
Android CPU, Compilers, D8 & R8
设想你被分配了一项重要的太空探索任务。你需要建造一艘非常可靠的飞船。你可能会选择普通的 YT-1300 运输机,它非常常见,你也基本知道如何操作它。然而你总是梦想着开一个更牛逼的家伙,你自己已经偷偷训练了很久,事实上千年隼号才是你真正的目标,但这个升级版的飞船要求你像 Han …
Android AspectJ详解
AOP中的切面比较形象,各个业务模块就像平铺在一个容器中,假如现在需要给各个模块添加点击事件埋点,AOP就像给所有业务模块间插入一个虚拟的切面,后续所有的点击事件通过这个切面时,我们有机会做一些额外的事情。 之所以说是虚拟,是因为整个过程对具体的业务场景是非侵入性的,业务代码不…
记录一次 AGP 调研过程中的思考,我从一个事故搞出了一个故事!
看过我博客的老铁应该知道,我在 18 年五月写过一个小 gradle 插件https://github.com/yanbober/app-tiny-R-gradle-plugin,其作用就是将 app 生成的 R 常量进行内联操作。对,就是前不久很火的滴滴 booster 和字…
「万物生长」一个APK从诞生到活跃在Android手机上
aapt工具将资源文件转化出对应的R文件和编译好的文件,但是这类资源文件中不包含assets目录下的文件。 aidl工具将aidl文件转化为Java代码。 Java Compiler工具将上述两者以及我们书写好的源代码进行整合生成我们所熟悉的Class文件。 dex工具将会将第…
Android 自定义插件-- 彻底解决method not found 问题
大家都知道 android在打包的时候 如果一个aar 有不同的版本存在,那么默认总是引用版本号最高的版本。 这个时候就会出现一个问题了: 基础库在迭代升级的时候 很可能要对某些方法进行修改,比如修改方法的返回值 ,修改方法的参数,甚至于要删除方法等等,但是如果你碰到上述的场景…
一起用Gradle Transform API + ASM完成代码织入呀~
最近的工作内容主要其实并不是说主攻插桩,但是这一次使用Lancet插桩给项目本来带来了极大的收益,这和工程的设计相关,当初的设计就是在对抖音中一个原有组件尽可能小的修改情况下,完成我新功能的接入,方案从SPI --> 主工程Lancet --> Lancet下沉到一个自定义组件…