首页
学习
活动
专区
工具
TVP
发布

codelang

专栏作者
44
文章
38267
阅读量
18
订阅数
开发一款 SDK 需要注意哪些问题
当业务方的 Java 环境是 1.8 时,如果 SDK 是使用 Java 11 编译,则调用 SDK 相关代码的地方在编译时将会报错:
codelang
2024-02-17
1590
Android 隐私合规检查工具套装
之前写过一篇《隐私合规代码排查思路[1]》的文章,但文章没有将方案开源出来,总觉得差了那么点意思,这次打算把几种常规的检测方法都开源出来,给大家一些借鉴思路。
codelang
2024-01-15
3880
JNI FindClass 遇到的 NoClassDefFoundError 错误
在上次的隐私合规工具套装文章中,有人留言了 jvmti 也可以实现方法的监控,这几天尝试写了下 demo,从打印的日志上来看,确实是可行,但 MethodEntry 这个 callback,回调频率也太高了吧,总感觉这玩意性能真的太差了,不如免 root 的 frida 方案(狗头)。
codelang
2024-01-15
2080
(三)组件治理之编译期检查
在上篇文章 《组件治理之多仓组件化编译的一些问题》中介绍,一些原本可在编译期间报错的问题被带到了运行时,我们需要开发一款检查插件,把 NoClassDefFoundError、NoSuchMethodError、NoSuchFieldError 与 AbstractMethodError 等异常提前在编译期间卡住。
codelang
2023-11-20
1570
(二)组件治理之依赖层级分析
在组件化模式的开发架构下,组件依赖是海量的,比如我们的壳工程下面的依赖就有上千个,但他们之间的引用关系是不知道的,在业务开发过程中,对于其他业务组件的调用,我们约定以 api 方式对外提供能力,以便实现组件的迭代与升级。但总会出现一些不合规的情况,某些业务组件直接依赖了其他业务的实现组件来触发能力,在壳工程下,由于是全依赖编译,这类问题是无法发现的,但一到业务组件新需求开发时,一些实现模块的类与方法早在上个版本就删除了,导致调用的地方就会出现类、方法等找不到的问题。
codelang
2023-11-20
1920
(一)组件治理之多仓组件化编译的一些问题
首先介绍下我们的项目结构,我们是组件化开发,不同的业务组件存放在各自的仓库之中,组件通过提供 api 的方式供其他业务调用,大致效果图如下:
codelang
2023-11-20
1690
聊聊类组件到函数组件的变迁
最近一直在学习 React,在看到 React Hooks 一章时联想到 Compose ,简直有着异曲同工之处,他们都是由 UI 组件、State 状态、Effect 副作用构成,而且,Android 端很多优秀的架构思路都来源于前端,适当性的学习些前端知识,反而更能容易理解当下 Android 原生的架构,这也是我一直推荐大家有时间也学习一下前端的原因,本期主要聊聊 Android 原生与 React 的对比,总结了类组件与函数组件的不同。
codelang
2022-11-30
3.4K1
Class 分析插件助力 Android 13 适配落地
距离 Android 13 发布马上有 3 个月了,各厂都已经开始了适配工作,我司也不例外。但适配前有一个问题需要解决,如果衡量这次适配的工作量,如何统计哪些模块需要改造,并能精确的找到对应模块负责人。
codelang
2022-11-30
4930
刷题小程序上线啦!!!
继上一篇《 没写文章的这几天,我在搞什么飞机》完成应用设计图之后,趁着国庆期间,把这只飞机给造了。
codelang
2022-11-30
5280
没写文章的这几天,我在搞什么飞机
距离上一篇原创发布已经过去 23 天,计划每周一篇的原创终究难产,这段时间确实有点过于“懒散”。这几周周末大部分时间都和朋友们在一块,聊天、聚餐和摆摊,当整个人的状态回归于生活的时候发现,原来可以这么美好。
codelang
2022-11-30
2100
打造一款支持线上抓 systrace 的框架
缘起是看到网易云音乐技术团队发布的一篇《systrace 统计方法耗时》的文章,文章讲解了如何通过 hook 的方式将 trace 开关打开,并实现不依赖 PC 开启 Trace 功能,实现线上抓取。文章思路与流程非常清晰,是一个不错的实践(造轮子)机会,我将此文转发给正在研究 xcrash 和 xhook 的同事,我俩一拍即合,打算利用这个机会撸一个框架,并且,同事还给我发了一篇更全面的实践文章《抖音 Android 性能优化系列:新一代全能型性能分析工具 Rhea》。
codelang
2022-11-30
6560
如何判断 Activity 上是否有弹窗
今天来看个需求,如何判断 Activity 上面是否有弹窗,当然,简单的方式肯定有,例如在 Dialog show 的时候记录一下,但这种方式不够优雅,我们需要一款更通用的判断方式。
codelang
2022-11-30
2.7K0
Compose 线上分享会内容
本次分享有录屏,可查看 BaguTree 组织地址,感谢校长、强哥、超哥提供的分享平台:http://jetpack.net.cn/#/blog/all[1]
codelang
2022-11-30
1.1K0
Baseline Profiles 在 Compose 中的应用
如下是官方使用 Baseline Profiles 在应用启动上提升的百分比,来自 《 Performance best practices for Jetpack Compose[1]》:
codelang
2022-11-30
9350
AGP 支持正式版 Compose 的最低版本
之前写了一篇 《Compose 与 AGP、KGP 的关系》的文章,其中我说了这么一段话:
codelang
2022-11-30
6320
利用 Kotlin inline 解决日志泄漏风险
写这个话题主要是因为看到一篇文章《淘宝系App图片为什么在北京电信网络加载这么慢?[1]》,文章作者通过 xposed hook 了淘宝的 ALog 日志,最终分析到问题原因。这不觉让我有点警惕,Lo
codelang
2022-11-30
3010
Compose 与原生启动性能对比
搜了下 stackoverflow[2] ,不支持 Android 12 的设备,在 issueracker[3] 上 google 也给了回复,不支持在 Android 12L 上运行,建议在小于等于 31 的 API 上运行:
codelang
2022-11-30
9210
Compose 与 AGP、KGP 的关系
在学习 Compose 的时候,有没有同学有一种困惑,Compose 到底是哪个 AGP 版本开始支持的,然后还会听到一些声音说,Compose 从 AGP 7.x 才开始支持,可当我使用 IntelliJ IDEA 创建 KMP 项目时,AGP 版本明明是 4.2.2,所以,为了搞清楚这个问题,我准备探索下 Compose 与他们之间的关系。
codelang
2022-11-30
9350
如何管控清单文件中的权限
为什么要做权限管控呢?因为现在的隐私合规越来越严格,对于敏感权限的使用必须在 隐私协议文档中注明权限使用的目的,甚至,在公司层面中,这类权限就不允许申请。
codelang
2022-11-30
7130
又被 Kotlin 语法糖坑惨的一天
源起是同事的一次反馈,在提测期间报了一个 Kotlin.Lazy 的空指针异常,Lazy 的定义如下:
codelang
2022-11-30
4230
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档