== 布局 ↔ Java id 交叉校验 ==
   布局文件 1 个 / 定义的 id 16 个 / Java 引用 id 16 个
   res drawable 8 个 / Java 引用 drawable 2 个

[1] Java 引用但布局里没有的 id：
   ✔ 全部存在

[2] Java 引用但不存在的布局 / drawable：
   ✘ res/drawable*/btn_danger_XX 缺失（被 app\src\main\java\com\rev\mcptool\MainActivity.java 引用）

[3] 桌面编译桩 tools/rstub/.../R.java 与 res/ 同步：
   ✔ 布局 16 个 id、1 个布局与 8 个 drawable 都在桩里

[4] 布局里有、Java 未引用的 id（提示，不算失败）：
   （无）

[5] 界面结构约束（只有日志可滚动）：
   ✔ 全布局 1 个 ScrollView，id=logscroll（设置区固定不动）

== 校验失败 ==
   - R.drawable.btn_danger_XX 不存在
   这类问题编译期不报错，装上手机才会 NullPointerException 闪退 —— 先补齐再打包。
