<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>积木的官方网站</title>
    <link>http://idove.top:5389/</link>
    <description>一个用 AI 驱动的技术博客静态站</description>
    <item>
  <title>从 0 到 1：用 Let&#39;s Encrypt 给网站配置 HTTPS（阿里云 + 宝塔）</title>
  <link>http://idove.top:5389/posts/letsencrypt-ssl-from-zero/</link>
  <guid>http://idove.top:5389/posts/letsencrypt-ssl-from-zero/</guid>
  <pubDate>Thu, 21 May 2026 12:00:00 GMT</pubDate>
  <description>手把手说明域名解析、安全组放行、宝塔一键申请 Let&#39;s Encrypt、Nginx 启用 HTTPS、自动续期与常见排错，适合静态站与自定义端口。</description>
</item>
<item>
  <title>技术博客 GitHub Actions 部署流程（Self-hosted Runner）</title>
  <link>http://idove.top:5389/posts/github-actions-self-hosted-deploy/</link>
  <guid>http://idove.top:5389/posts/github-actions-self-hosted-deploy/</guid>
  <pubDate>Wed, 20 May 2026 12:00:00 GMT</pubDate>
  <description>记录 push 到 release 分支后，GitHub Actions 在阿里云 Self-hosted Runner 上拉取代码并更新静态站点的完整流程。</description>
</item>
<item>
  <title>EDF 录制会话文件 flush 失败排查与修复</title>
  <link>http://idove.top:5389/posts/edf-resume-session-io-fix/</link>
  <guid>http://idove.top:5389/posts/edf-resume-session-io-fix/</guid>
  <pubDate>Wed, 20 May 2026 10:44:59 GMT</pubDate>
  <description>edf_resume_session.json 在外置存储上高频 flush 导致 EIO，心跳未落盘引发 crash_resume 误判；改为内部存储并弱化 flush 的排查与修复记录。</description>
</item>
<item>
  <title>EDF 文件「第 109 组只写完 3 个通道」时的结构、Resume 如何发现与如何修复</title>
  <link>http://idove.top:5389/posts/edf-partial-record-resume-truncate/</link>
  <guid>http://idove.top:5389/posts/edf-partial-record-resume-truncate/</guid>
  <pubDate>Thu, 14 May 2026 17:00:00 GMT</pubDate>
  <description>用 5 数据通道 + 1 注释轨、每通道每 record 样本数 500/500/50/50/50 的典型配置，推导 recordsize、不完整尾部字节数，以及 floor 截断与 setLength 的修复语义。</description>
</item>
<item>
  <title>EDF+ 文件头区长度与字节布局（实现视角）</title>
  <link>http://idove.top:5389/posts/edf-plus-header-layout/</link>
  <guid>http://idove.top:5389/posts/edf-plus-header-layout/</guid>
  <pubDate>Thu, 14 May 2026 16:00:00 GMT</pubDate>
  <description>说明 EDF+ 头区总长度如何随信号数变化、主头 256 字节内各字段偏移，以及后续「每信号 256 字节」信号头表的结构。</description>
</item>
<item>
  <title>Flutter Text 为什么“看起来不垂直居中”（baseline/metrics/line-height）</title>
  <link>http://idove.top:5389/posts/flutter-text-vertical-centering/</link>
  <guid>http://idove.top:5389/posts/flutter-text-vertical-centering/</guid>
  <pubDate>Thu, 30 Apr 2026 11:08:30 GMT</pubDate>
  <description>解释 Text 垂直对齐偏差的根因：baseline 与字体度量；以及 height/strutStyle 为什么能让滚轮数字更“视觉居中”。</description>
</item>
<item>
  <title>MainActivity EDF 写入与断点续写全链路解析</title>
  <link>http://idove.top:5389/posts/edf-resume-full-analysis/</link>
  <guid>http://idove.top:5389/posts/edf-resume-full-analysis/</guid>
  <pubDate>Mon, 27 Apr 2026 16:29:00 GMT</pubDate>
  <description>从 MethodChannel 到 EDF 二进制字节布局，完整拆解创建、写入、注释、关闭与断点续写流程。</description>
</item>
<item>
  <title>纯血鸿蒙 APK 离线 Push 收不到排查全记录（极光 + 华为通道）</title>
  <link>http://idove.top:5389/posts/harmonyos-apk-jpush-huawei-channel-fix/</link>
  <guid>http://idove.top:5389/posts/harmonyos-apk-jpush-huawei-channel-fix/</guid>
  <pubDate>Thu, 23 Apr 2026 12:00:00 GMT</pubDate>
  <description>记录在纯血鸿蒙设备上通过卓易通安装 APK 后，离线 Push 始终收不到的完整排查过程，最终定位到华为消息分类配置缺失导致推送达到上限。</description>
</item>
<item>
  <title>从 tombstone 定位 APK 中崩溃的 .so 文件</title>
  <link>http://idove.top:5389/posts/apk-so-crash-locate/</link>
  <guid>http://idove.top:5389/posts/apk-so-crash-locate/</guid>
  <pubDate>Thu, 23 Apr 2026 12:00:00 GMT</pubDate>
  <description>通过 zipalign 获取 APK 内各 .so 的偏移量，再将 tombstone 中的 pc 地址转为十进制，对比偏移量表快速定位崩溃所在的 .so 文件。</description>
</item>
<item>
  <title>ADB 命令大全：从连接调试到应用管理</title>
  <link>http://idove.top:5389/posts/adb-command-guide/</link>
  <guid>http://idove.top:5389/posts/adb-command-guide/</guid>
  <pubDate>Thu, 23 Apr 2026 10:30:00 GMT</pubDate>
  <description>系统整理 ADB 常用命令，包括设备连接、日志抓取、应用安装卸载、包信息查询、文件传输与自动化脚本实践。</description>
</item>
<item>
  <title>Tombstone 定位电量 SOC Native 崩溃复盘</title>
  <link>http://idove.top:5389/posts/tombstone-soc-native-crash/</link>
  <guid>http://idove.top:5389/posts/tombstone-soc-native-crash/</guid>
  <pubDate>Wed, 22 Apr 2026 18:15:00 GMT</pubDate>
  <description>用 tombstone、logcat 和代码调用链，定位电量 SOC 相关的 native 空指针崩溃。</description>
</item>
<item>
  <title>华为上架后资讯/营销限频与“服务与通讯类”自分类申请指南</title>
  <link>http://idove.top:5389/posts/huawei-push-category-quota/</link>
  <guid>http://idove.top:5389/posts/huawei-push-category-quota/</guid>
  <pubDate>Tue, 21 Apr 2026 09:37:16 GMT</pubDate>
  <description>梳理华为通知消息“资讯营销/服务与通讯”分类、2/5条日配额规则，以及新闻类与自分类权益的申请要求、步骤与常见踩坑排查。</description>
</item>
<item>
  <title>解决 Flutter 启动锁：Waiting for another flutter command to release the startup lock</title>
  <link>http://idove.top:5389/posts/flutter-startup-lock-fix/</link>
  <guid>http://idove.top:5389/posts/flutter-startup-lock-fix/</guid>
  <pubDate>Mon, 20 Apr 2026 09:35:00 GMT</pubDate>
  <description>记录一次 Flutter 启动锁问题的定位与修复，核心是删除 Flutter SDK cache 下的 lockfile。</description>
</item>
<item>
  <title>Flutter 卡在 “Initializing the flutter SDK” 半小时：Gradle 拉取 Flutter Maven 失败的排查与修复（含永久配置）</title>
  <link>http://idove.top:5389/posts/flutter-sdk-initializing-stuck-gradle-ssl/</link>
  <guid>http://idove.top:5389/posts/flutter-sdk-initializing-stuck-gradle-ssl/</guid>
  <pubDate>Tue, 07 Apr 2026 22:22:48 GMT</pubDate>
  <description>记录一次 Flutter 构建卡住/失败，根因是 Gradle 下载 io.flutter 相关依赖时连接被重置；用环境变量切换到 flutter-io.cn 镜像并提供永久生效方案。</description>
</item>
<item>
  <title>依据描述生成 DIM，再依据 DIM 同步到 Figma 的完整工程流程</title>
  <link>http://idove.top:5389/posts/dim-to-figma-sync-flow/</link>
  <guid>http://idove.top:5389/posts/dim-to-figma-sync-flow/</guid>
  <pubDate>Mon, 06 Apr 2026 10:16:27 GMT</pubDate>
  <description>结合当前工程的实际文件，详细说明如何把自然语言需求转成 DIM，并再把 DIM 严格同步到 Figma。</description>
</item>
<item>
  <title>python读取飞书云文档内容</title>
  <link>http://idove.top:5389/posts/feishu-reader-implementation/</link>
  <guid>http://idove.top:5389/posts/feishu-reader-implementation/</guid>
  <pubDate>Fri, 03 Apr 2026 21:00:00 GMT</pubDate>
  <description>基于开放平台「获取云文档内容」接口，用少量 Python 完成 docx → Markdown 拉取；附 SKILL 与 CLI 行为说明。</description>
</item>
<item>
  <title>Flutter 项目中集成腾讯 Bugly（flutter_bugly）异常上报</title>
  <link>http://idove.top:5389/posts/flutter-bugly-integration/</link>
  <guid>http://idove.top:5389/posts/flutter-bugly-integration/</guid>
  <pubDate>Thu, 02 Apr 2026 17:39:52 GMT</pubDate>
  <description>结合本项目 `pubspec.yaml` 与 `lib/main.dart`，说明 flutter-bugly 的接入方式与异常捕获链路。</description>
</item>
<item>
  <title>Flutter Android 正常解决 so 崩溃并反查方法</title>
  <link>http://idove.top:5389/posts/flutter-android-so-crash-normal-workflow/</link>
  <guid>http://idove.top:5389/posts/flutter-android-so-crash-normal-workflow/</guid>
  <pubDate>Wed, 01 Apr 2026 23:00:00 GMT</pubDate>
  <description>结合 Bugly 实际崩溃记录，演示自编写 libcrashlib.so、触发崩溃、提取 pc 并用 llvm-addr2line 反查到 so 方法和源码行的完整流程。</description>
</item>
<item>
  <title>Flutter 展开收起：FadeInOutWidgets 的三种实现</title>
  <link>http://idove.top:5389/posts/flutter-fade-in-out-widgets/</link>
  <guid>http://idove.top:5389/posts/flutter-fade-in-out-widgets/</guid>
  <pubDate>Wed, 01 Apr 2026 11:36:37 GMT</pubDate>
  <description>基于 FadeInOutWidgets.dart，说明仅用高度动画、高度+透明度、以及 AnimatedSwitcher 三种可复用写法的取舍与用法。</description>
</item>
  </channel>
</rss>