﻿=== 源码文件 ===
AnalysisLog.java             10853
AnalysisRun.java             10925
ApkAnalyzer.java             18773
ApkPack.java                  8897
AxmReader.java                9641
BlutterPick.java              8962
BlutterRunner.java           18806
DartInfo.java                18721
ElfReader.java               16095
FlutterProbe.java             9655
MainActivity.java            19391
McpServer.java               60813
McpService.java               6354
NativeAnalyzer.java          22132
R2Bridge.java                16640
RevPrefs.java                 2148

=== 下一步建议 / 建议区 相关行 ===
BlutterRunner.java:342: sb.append("\n  结论: 依赖齐备，可按目标 Dart 版本直接跑 blutter_run。\n");
McpServer.java:752: if (name.equals("blutter_doctor")) {
McpServer.java:755: return logged("blutter_doctor", "(自检)", br.doctor());
McpServer.java:757: if (name.equals("blutter_run")) {
McpServer.java:799: String loc = logged("blutter_run", label + "（Dart " + di.dartVersion + "）",
McpServer.java:1134: t.put(tool("blutter_run", "用内置的预编译 blutter 对 Flutter 的 libapp.so 做 Dart AOT 符号还原："
McpServer.java:1143: t.put(tool("blutter_doctor", "检查内置 blutter 运行时：列出可用版本（含二进制内嵌的真实 Dart 版本，"
NativeAnalyzer.java:144: sb.append("\n■ 下一步定位建议\n");

=== frida / 反调试 模式串 ===
ElfReader.java:300: || n.contains("sign") || n.contains("root") || n.contains("frida")
NativeAnalyzer.java:43: ".dart", "package:", "http", "dart:", "flutter", "frida"
