tool

38 篇文章
Android Emulator 的快照功能,保存测试状态

Android Emulator 的快照功能,保存测试状态

Android Emulator 的快照功能,保存测试状态 Android Emulator 的快照功能,保存测试状态 一个被反复打断的下午 去年三月份,我在调试一个应用内购买的流程问题。测试环境需要 Google Play 结算库 6.0 的完整配置,包括许可证测试账号、测试信用卡、以及一个特定的

Google 的官方 Codelab 合集,哪些值得刷

Google 的官方 Codelab 合集,哪些值得刷

Google 的官方 Codelab 合集,哪些值得刷 Google 的官方 Codelab 合集,哪些值得刷 Android 开发者对 Codelab 的态度挺分裂的。一部分人觉得这是官方出的"手把手教程",权威、路径清晰,适合快速上手新 API;另一部分人刷过几个之后就放弃了,理由是"太浅了,跟

APKPure 和酷安的下载安全性分析

APKPure 和酷安的下载安全性分析

APKPure 和酷安的下载安全性分析 APKPure 和酷安的下载安全性分析 从一次签名验证失败说起 去年给一个老设备做系统维护时,我遇到了一个挺典型的问题。一台 Pixel 3 XL 停留在 Android 12,Google Play 服务因为证书链问题无法正常更新,导致依赖 GMS 的应用集

MAT 工具分析堆转储,定位内存泄漏

MAT 工具分析堆转储,定位内存泄漏

MAT 工具分析堆转储,定位内存泄漏 「MAT 工具分析堆转储,定位内存泄漏」 Android 应用的内存泄漏问题,说大不大,说小不小。说它不大,是因为很多应用在用户手上运行三五分钟就被杀掉了,泄漏那点内存根本来不及累积成灾难。说它不小,是因为一旦泄漏发生在常驻组件——比如 Service、单例、或

NDK 开发的 CMake 配置模板分享

NDK 开发的 CMake 配置模板分享

NDK 开发的 CMake 配置模板分享 NDK 开发的 CMake 配置模板分享 一个被 CMake 3.10 坑过的开场 去年维护一个老项目时,我把 build.gradle 里的 externalNativeBuild.cmake.version 从 "3.10.2" 顺手改成了 "3.22.

JUnit 5 在 Android 测试中的配置与使用

JUnit 5 在 Android 测试中的配置与使用

JUnit 5 在 Android 测试中的配置与使用 JUnit 5 在 Android 测试中的配置与使用 Android 测试长期被 JUnit 4 统治。从 2018 年 Google 在 AndroidX Test 库中引入 AndroidJUnitRunner 开始,这个基于 JUnit

Firebase 免费额度够用吗,超出后多少钱

Firebase 免费额度够用吗,超出后多少钱

Firebase 免费额度够用吗,超出后多少钱 「Firebase 免费额度够用吗,超出后多少钱」 Firebase 的 Spark 计划(免费档)在 Google 产品里算是个异类。它不像 GCP 那样新用户送 300 美元试用金、到期就停,而是真正意义上的"永久免费"——只要你不触发某些隐藏开关

SVG 转 Vector Drawable 的注意事项

SVG 转 Vector Drawable 的注意事项

SVG 转 Vector Drawable 的注意事项 SVG 转 Vector Drawable 的注意事项 Android 开发里用 Vector Drawable 替代多套 PNG 已经是老生常谈了,但真把设计师给的 SVG 往项目里一丢,编译报错、运行时崩溃、渲染错位的问题从来没少过。这篇文

Moshi 的代码生成,KSP 适配后的编译速度

Moshi 的代码生成,KSP 适配后的编译速度

Moshi 的代码生成,KSP 适配后的编译速度 Moshi 的代码生成,KSP 适配后的编译速度 从 KAPT 的编译噩梦说起 如果你用 Kotlin 写 Android 项目超过三年,大概率经历过 KAPT 的折磨。Moshi 作为 Square 出品的 JSON 解析库,早期版本依赖 KAPT

WireShark 抓包分析移动应用网络请求

WireShark 抓包分析移动应用网络请求

WireShark 抓包分析移动应用网络请求 WireShark 抓包分析移动应用网络请求 WireShark 这个工具在桌面网络分析领域几乎是标配,但把它拉到移动应用开发场景里,事情就变得复杂不少。我见过太多开发者以为装个 WireShark 就能看穿 App 的所有网络行为,结果在 HTTPS