Wiki / 报告问题

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

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

1日志里有什么

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

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

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

2解锁调试模式

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

  1. 在 SSTV-AF 中打开 Settings 标签页。
  2. 滚动到最底部 —— ABOUT 部分。
  3. 点击 FAQ & Support。About 对话框打开,显示应用版本和一段以 "SSTV, made easy." 开头的说明。
  4. 连续点击该说明文字七次。第七次点击后,调试模式打开,并在重启之间保持。
  5. 关闭 About 对话框。ABOUT 部分中、FAQ & Support 的正下方,现在会出现一行新的 Debug
Settings · AboutDebug unlocked
SSTV-AFv0.9 · build 2026.07.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.230 MHz
13:42:18  RX start: VIS 0x3c → Scottie 1
13:42:20  slant est: +0.7 ms/line, corrected
Debug 界面。 点击 Share,打开已附上 debug.log 的 Android 分享面板。选择 Gmail、Outlook、Drive、Files —— 你想用什么发送都行。

从顶部工具栏:

Share
打开 Android 分享面板,debug.log 作为文本文件附上(主题为 "SSTV-AF 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/radio.ks3ckc.sstvaf/files/debug.log
  1. 在你的手机上打开 Files(或 我的文件)应用。
  2. 导航到 内部存储 → Android → data。在某些设备上,Android 默认隐藏此文件夹;点击三点菜单并启用 显示隐藏文件系统文件夹
  3. 打开 SSTV-AF 的软件包文件夹,然后 files。你应该会在里面看到 debug.log
  4. 长按 debug.log 并点击 分享

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

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

5退路:ADB

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

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

6写 issue

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

  1. 你做了什么? 「调谐到 14.230,一个电台开始发送 Scottie 1。」按顺序的具体操作。无需描述应用 —— 只说你点了什么。
  2. 你期望发生什么? 「我期望图片干净地绘入。」
  3. 实际发生了什么? 「图片接收进来时是倾斜的,颜色向左偏移了。」如果屏幕上出现了什么 —— 错误提示、卡住的界面、奇怪的瀑布图 —— 请描述它。一张截图价值千金。
  4. 多频繁? 每次?只在一种模式?只在手机休眠后?你能锁定的任何信息都会缩小搜索范围。
  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

- SSTV-AF version: (Settings → About, or the release tag you installed)
- Source:          GitHub APK / 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如果应用崩溃了

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

  • 如果你使用的是带崩溃上报的构建,请一次性选择加入匿名报告,我们就会自动看到堆栈跟踪。在 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.230 MHz

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

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

谢谢你抽出时间。

真实的现场报告 —— 「这台电台、这根线、这个波段,发生了这样的事」 —— 正是这个项目变得更好的方式。它构建于 FT8AF 基础之上,而后者正是靠着你即将提交的这类报告走到今天的。73。