把原先几条零散备注整理成“工具入口 + 构建提醒 + 调试配置”三个部分,方便回看时快速定位。
1. 反编译工具入口
原始笔记只记了一条:
jadx
因此这篇里把它保留成一个明确提醒:如果当前目的是快速看 APK / dex 的 Java 代码结构,先从 jadx 开始,而不是一上来就手动解包所有产物。
2. Gradle 版本先看兼容关系
原始记录里的结论是:
Gradle 版本需要与 XXX 版本对应
虽然当时没把具体版本对照表写下来,但这条提醒本身很有价值:
只要 Android 工程在同步、构建或插件加载阶段报错,先确认 Gradle、Android Gradle Plugin 和 JDK 的组合是否匹配。
回看这条笔记时,优先检查:
gradle-wrapper.properties里的 Gradle 版本- 工程使用的 Android Gradle Plugin 版本
- 当前本机或 CI 的 JDK 版本
很多看起来像“脚本写错了”的问题,根因其实是版本不兼容。
3. Gradle 脚本调试最小方法
原始笔记里给出的关键词只有一个:
println
可以把它理解成最小调试手段:
当你不确定某个变量、任务分支或配置块有没有生效时,先在 Gradle 脚本里用 println 打印关键值,快速确认执行路径。
它适合回答这类问题:
- 当前脚本到底有没有被执行
- 某个变量在配置阶段拿到的值是什么
- 某段逻辑走的是哪条分支
4. 常用 debug 构建配置
原始记录保留的配置片段如下:
debug {
debuggable true
jniDebuggable true
minifyEnabled false
shrinkResources false
}
整理后可以把它理解成一组常见目标:
debuggable true:允许 Java / Kotlin 层调试jniDebuggable true:允许 Native 层调试minifyEnabled false:避免混淆影响排查shrinkResources false:避免资源裁剪让问题现场失真
5. 什么时候先回看这篇
这篇笔记适合在下面几类场景里快速翻一下:
- 想先反编译看 APK 结构时
- Gradle 同步 / 构建异常,但一时看不出是脚本问题还是版本问题时
- 需要准备一个更适合调试的 Android debug 构建时
FEATURED TAGS
Git
Cheat Sheet
Markdown
Tools
C++
Linker
Thread
Linux
TCP
Network
GDB
Debug
leetcode
链表
WSL
Ubuntu
Windows
Linux Kernel
GCC
Android
adb
Troubleshooting
Profiling
Sanitizer
glibc
MySQL
Database
Python
curl
Build
ELF
clang-format
CMake
Graphviz
Performance
vcpkg
Protobuf
排查
速查
内存
STL
调试
性能分析
性能
读书笔记
方法论
架构
网络
Timer
mbedTLS
TLS
安全
负载均衡
脚本
工具
LRU
二叉树
BST
中序遍历
回溯
二分查找
优先队列
排序
旋转数组
jenkins
部署