Wiki / 报告问题

把日志给我们,
我们就能修好它。

FT8AF 每次运行都会写出一份结构化的事件日志 —— CAT 串口流量、USB 插入事件、自动连接尝试、波段切换。大多数现场问题都落在那里。从你的手机取出,丢进一个 GitHub issue,完成。

1日志里有什么

FT8AF 在其应用数据目录中维护一个名为 debug.log 的滚动文本文件。它会捕获如下内容:

  • USB 插入 / 拔出事件,以及哪个 CAT 设备匹配
  • 自动连接尝试及任何失败
  • 发往电台与从电台收到的 CAT 串口帧
  • 波段与频率的切换
  • 应用启动和停止时的生命周期事件

它是纯文本,读起来安全,且不含密码或上传 API 密钥。如果你想在分享前浏览一下,请见下方的 隐私 一节。

2解锁调试模式

取出日志最简单的方式是使用应用内的调试界面 —— 无需电脑、无需文件管理器、无需 Android-data 文件夹权限。该界面默认隐藏,你可以像 Android 的开发者选项那样解锁它:点击版本块七次。

  1. 在 FT8AF 中打开 Settings 标签页。
  2. 滚动到最底部 —— ABOUT 部分。
  3. 点击 FAQ & Support。About 对话框打开,显示应用版本和一段以 "FT8, made easy." 开头的说明。
  4. 连续点击该说明文字七次。第七次点击后,调试模式打开,并在重启之间保持。
  5. 关闭 About 对话框。ABOUT 部分中、FAQ & Support 的正下方,现在会出现一行新的 Debug
Settings · AboutDebug unlocked
FT8AFv1.2 · build 2026.06.02
FAQ & Support
DebugView / share debug.log · ›
解锁之后 —— Debug 行出现在 ABOUT 部分。一旦调试模式打开,它就保持打开,直到你再次关闭它(再点击说明七次即可关闭)。

3打开 Debug & 分享

点击新的 Debug 行。一个全屏的日志查看器打开,实时尾随 debug.log 的最后几百行 —— 它每隔几秒刷新,并自动滚动到底部。

Debug · 412 linesTailing
Share Clear Logcat: OFF
13:42:01  USB attach: vid=10c4 pid=ea60
13:42:01  autoConnect attempt #1 → SUCCESS
13:42:02  CAT > FE FE 94 E0 03 FD
13:42:02  CAT < FE FE E0 94 03 00 74 04 00 14 FD
13:42:05  band → 20m, freq 14.074 MHz
13:42:18  decode: 14 messages in 64 ms
13:42:33  decode: 11 messages in 58 ms
Debug 界面。 点击 Share,打开已附上 debug.log 的 Android 分享面板。选择 Gmail、Outlook、Drive、Files —— 你想用什么发送都行。

从顶部工具栏:

Share
打开 Android 分享面板,debug.log 作为文本文件附上(主题为 "FT8AF debug.log")。选择 Gmail 直接邮件发给我们,或任何处理附件的应用 —— Drive、Outlook、Slack、Signal、Telegram、系统 Files 应用,都可以。
Clear
删除当前日志。如果你想在复现问题前从干净的状态开始,这很有用 —— 只需按 Clear,退出对话框,复现问题,回来再 Share。更短的日志让我们更容易发现相关事件。
Logcat: ON / OFF
当为 ON 时,查看器还会附上应用自身进程的近期 logcat 输出 —— 当崩溃或音频问题未被 debug.log 完全捕获时很有用。点击 Share 时,logcat 尾部会一并带上。

直接发给我们。

当分享面板出现时,选择你的邮件应用,并发给正在处理该 issue 的人 —— 操作员是 K1AFN0RC(地址在 QRZ)。更好的做法是:先开一个 GitHub issue,然后用你喜欢的任意邮件或云盘快捷方式分享日志,并把链接或附件贴到 issue 线程里,让它保持公开。

4退路:Files 应用

如果出于某种原因你无法进入应用内的 Debug 界面 —— 旧构建、解锁没生效、你只是更想用文件管理器 —— 日志文件也存在于磁盘上的:

/Android/data/com.bg7yoz.ft8cn/files/debug.log
  1. 在你的手机上打开 Files(或 我的文件)应用。
  2. 导航到 内部存储 → Android → data。在某些设备上,Android 默认隐藏此文件夹;点击三点菜单并启用 显示隐藏文件系统文件夹
  3. 打开名为 com.bg7yoz.ft8cn 的文件夹,然后 files。你应该会在里面看到 debug.log
  4. 长按 debug.log 并点击 分享

Android 11+ 可能在 Files 中屏蔽 /Android/data

如果在较新的 Android 上你在 data 文件夹里看不到 com.bg7yoz.ft8cn,请从 Play Store 安装第三方文件管理器,例如 Material FilesSolid Explorer —— 两者都能读取应用数据文件夹。或者更简单:使用上面应用内的 Debug 界面,它会完全绕开这个问题。

5退路:ADB

面向拥有电脑和 Android adb 工具的开发者:

  1. 在你的手机上启用 开发者选项 → USB 调试
  2. 用 USB 把手机连到电脑,接受调试授权提示。
  3. 在终端中,确认手机可见:
    adb devices -l
  4. 拉取日志:
    adb pull /sdcard/Android/data/com.bg7yoz.ft8cn/files/debug.log .
    在多设备的环境中,用 -s <serial> 明确指定手机。

6写 issue

一份有用的错误报告很短 —— 三四个简短段落足矣。屡试不爽的模式:

  1. 你做了什么? 「插上我的 FT-891,在 20m 点了 CQ。」按顺序的具体操作。无需描述应用 —— 只说你点了什么。
  2. 你期望发生什么? 「我期望电台键控,应用开始在 14.074 发送音调。」
  3. 实际发生了什么? 「TX 条停在 LISTENING。没有 PTT,没有音调。」如果屏幕上出现了什么 —— 错误提示、卡住的界面、奇怪的瀑布图 —— 请描述它。一张截图价值千金。
  4. 多频繁? 每次?只在手机休眠后?只在 6m?你能锁定的任何信息都会缩小搜索范围。
  5. 附上日志。 在复现问题后立即取出 debug.log —— 最新的几行最有用。

7issue 模板

把这个复制到一个新的 issue 中,并填空:

## What happened

(One or two sentences describing the bug)

## Steps to reproduce
1. (First thing you tapped)
2. (Second thing)
3. (...)

## Expected vs. actual

Expected: (what should have happened)
Actual:   (what did happen)

## Environment

- FT8AF version:   (Settings → About, or the release tag you installed)
- Source:          GitHub APK / Google Play / built from source
- Android version: (e.g. 14)
- Device:          (e.g. Pixel 8, Samsung S23, etc.)
- Radio:           (e.g. Yaesu FT-891 over USB-C)
- Cable:           (USB-C direct / OTG adapter / brand if relevant)

## Log

(Attach debug.log, or paste the last ~50 lines in a code block.)

8如果应用崩溃了

当 FT8AF 彻底崩溃时,Android 会保留一份单独的崩溃报告。有两处可查看:

  • 如果你是从 Google Play 获取的,请一次性选择加入匿名崩溃报告,我们就会自动看到堆栈跟踪。你无需做什么 —— 但在 issue 中加上「我刚在 <时间> 左右从设备 X 发送了一份崩溃报告」能帮我们对上号。
  • 如果你能用 ADB,实时系统日志通常会在崩溃发生后立即包含其跟踪:
    adb logcat -d > logcat.txt
    debug.log 外,再附上 logcat.txt

9隐私

调试日志只是文本。它捕获应用的运行事件,而非你的个人数据。你会看到如下的行:

13:42:01 USB attach: vid=10c4 pid=ea60 (Silicon Labs CP210x)
13:42:01 autoConnect attempt #1 → SUCCESS
13:42:02 CAT > FE FE 94 E0 03 FD
13:42:02 CAT < FE FE E0 94 03 00 74 04 00 14 FD
13:42:05 band → 20m, freq 14.074 MHz

其中 没有 的:Cloudlog 或 QRZ 的 API 密钥、你的账户密码、照片、联系人或位置。你的呼号和网格 其中,因为它们标识你的电台 —— 但对持照业余无线电爱好者而言,这些本就是公开信息。

如果你想在发送前浏览或涂去,文件是纯 UTF-8 文本。任何文本编辑器都能打开它。

谢谢你抽出时间。

真实的现场报告 —— 「这台电台、这根线、这个波段,发生了这样的事」 —— 正是这个分支变得更好的方式。两轮捉虫和 58+ 项修复,正是从你即将提交的这类报告开始的。73。