[{"data":1,"prerenderedAt":927},["ShallowReactive",2],{"content:\u002F2026\u002F08\u002Fflutter-huawei-usb-device-debugging":3,"surround:\u002F2026\u002F08\u002Fflutter-huawei-usb-device-debugging":918},{"id":4,"title":5,"body":6,"categories":890,"date":892,"description":893,"draft":894,"extension":895,"image":896,"meta":897,"navigation":899,"path":900,"permalink":896,"published":896,"readingTime":901,"recommend":896,"references":896,"seo":906,"sitemap":907,"stem":908,"tags":909,"type":915,"updated":916,"__hash__":917},"content\u002Fposts\u002F2026\u002F08\u002Fflutter-huawei-usb-device-debugging.md","macOS 使用华为手机调试 Flutter：ADB 设备为空排查",{"type":7,"value":8,"toc":875},"minimark",[9,13,29,38,43,46,102,113,116,119,138,141,177,180,184,195,207,210,219,222,238,241,247,258,265,272,288,291,297,300,318,324,330,335,339,342,375,379,382,388,391,405,408,411,414,428,437,441,444,504,513,516,520,523,537,540,569,572,575,641,644,651,656,662,665,668,685,688,702,705,709,712,724,727,740,743,762,765,771,774,780,783,837,840,845,851,868,871],[10,11,12],"p",{},"Flutter Android 项目除了使用模拟器，也可以直接连接 Android 手机进行真机调试。真机能够更准确地验证相机、通知、定位、蓝牙、性能以及不同厂商系统的兼容性。",[10,14,15,16,20,21,24,25,28],{},"本文记录一次在 macOS 上连接华为手机运行 Flutter 项目的完整排障过程：最初 ",[17,18,19],"code",{"code":19},"adb devices"," 一直为空，最终将手机的 USB 模式切换为 ",[17,22,23],{"code":23},"MTP"," 后成功识别设备，并通过 ",[17,26,27],{"code":27},"flutter run"," 启动项目。",[10,30,31,32,37],{},"如果 Flutter、Android Studio 和 Android SDK 尚未安装，可以先参考",[33,34,36],"a",{"href":35},"\u002F2026\u002F08\u002Fflutter-macos-environment-setup","macOS 搭建 Flutter Android 与 iOS 开发环境","。",[39,40,42],"h2",{"id":41},"无线配对还是-usb-连接","无线配对还是 USB 连接",[10,44,45],{},"Android 11 及以上版本通常支持无线调试，可以通过配对码或二维码连接 Android Studio。无线调试适合日常开发，但首次连接时，USB 仍然是最稳定、最容易判断问题所在的方式。",[47,48,49,65],"table",{},[50,51,52],"thead",{},[53,54,55,59,62],"tr",{},[56,57,58],"th",{},"连接方式",[56,60,61],{},"优点",[56,63,64],{},"注意事项",[66,67,68,80,91],"tbody",{},[53,69,70,74,77],{},[71,72,73],"td",{},"USB 数据线",[71,75,76],{},"稳定、延迟低、排障简单",[71,78,79],{},"线材和接口必须支持数据传输",[53,81,82,85,88],{},[71,83,84],{},"二维码无线配对",[71,86,87],{},"不需要长期插线",[71,89,90],{},"手机和 Mac 通常需要位于同一局域网",[53,92,93,96,99],{},[71,94,95],{},"ADB TCP\u002FIP",[71,97,98],{},"可手动指定 IP 连接",[71,100,101],{},"首次启用时经常仍需要 USB",[103,104,107],"alert",{"title":105,"type":106},"建议首次连接使用 USB","info",[10,108,109,110,112],{},"如果 ",[17,111,19],{"code":19}," 完全为空，先通过 USB 建立一条可靠的数据连接。确认真机调试正常后，再切换到无线调试会更容易排查问题。",[39,114,115],{"id":115},"使用二维码无线配对",[10,117,118],{},"如果华为手机的“无线调试”页面提供“使用二维码配对设备”，可以尝试以下流程。",[120,121,122,126,129,132,135],"ol",{},[123,124,125],"li",{},"Mac 和手机连接同一个 Wi-Fi。",[123,127,128],{},"手机进入“设置 → 系统和更新 → 开发人员选项 → 无线调试”。",[123,130,131],{},"开启无线调试，选择“使用二维码配对设备”。",[123,133,134],{},"Android Studio 打开“Device Manager → Pair Devices Using Wi-Fi → Pair using QR code”。",[123,136,137],{},"使用无线调试页面提供的扫码功能扫描二维码。",[10,139,140],{},"配对完成后执行：",[142,143,149],"pre",{"className":144,"code":145,"filename":146,"language":147,"meta":148,"style":148},"language-bash shiki shiki-themes github-light github-dark","adb devices -l\nflutter devices\n","检查无线设备","bash","",[17,150,151,168],{"__ignoreMap":148},[152,153,156,160,164],"span",{"class":154,"data-line":155,"line":155},"line",1,[152,157,159],{"class":158},"sScJk","adb",[152,161,163],{"class":162},"sZZnC"," devices",[152,165,167],{"class":166},"sj4cs"," -l\n",[152,169,171,174],{"class":154,"data-line":170,"line":170},2,[152,172,173],{"class":158},"flutter",[152,175,176],{"class":162}," devices\n",[10,178,179],{},"不同 EMUI 或 HarmonyOS 版本提供的选项可能不同。如果手机没有二维码配对入口，可以使用配对码，或者直接使用 USB 连接。",[39,181,183],{"id":182},"使用配对码连接无线-adb","使用配对码连接无线 ADB",[10,185,186,187,190,191,194],{},"Android 11 及以上版本的无线调试分为两个步骤：先使用 ",[17,188,189],{"code":189},"adb pair"," 完成配对，再使用 ",[17,192,193],{"code":193},"adb connect"," 建立连接。配对通常只需要执行一次，而重新开启无线调试或网络发生变化后，可能需要再次执行连接。",[103,196,199],{"title":197,"type":198},"配对端口和连接端口不同","warning",[10,200,201,203,204,206],{},[17,202,189],{"code":189}," 使用“使用配对码配对设备”页面显示的配对端口；",[17,205,193],{"code":193}," 使用“无线调试”主页面显示的 IP 地址和端口。不要将两个端口混用。",[10,208,209],{},"首先在手机中进入“设置 → 系统和更新 → 开发人员选项 → 无线调试”，点击“使用配对码配对设备”。页面会显示 IP 地址、配对端口和六位配对码，例如：",[142,211,217],{"className":212,"code":214,"filename":215,"language":216,"meta":148},[213],"language-text","IP 地址：192.168.0.106\n配对端口：45333\n配对码：123456\n","无线配对信息","text",[17,218,214],{"__ignoreMap":148},[10,220,221],{},"在 Mac 中执行：",[142,223,226],{"className":144,"code":224,"filename":225,"language":147,"meta":148,"style":148},"adb pair 192.168.0.106:45333\n","配对无线设备",[17,227,228],{"__ignoreMap":148},[152,229,230,232,235],{"class":154,"data-line":155,"line":155},[152,231,159],{"class":158},[152,233,234],{"class":162}," pair",[152,236,237],{"class":162}," 192.168.0.106:45333\n",[10,239,240],{},"根据提示输入手机显示的配对码。出现以下信息说明配对成功：",[142,242,245],{"className":243,"code":244,"language":216,"meta":148},[213],"Successfully paired to 192.168.0.106:45333\n",[17,246,244],{"__ignoreMap":148},[10,248,249,250,254,255,257],{},"此时只是完成了 ",[251,252,253],"strong",{},"Pair（配对）","，设备不一定会立即出现在 ",[17,256,19],{"code":19}," 中。返回手机的“无线调试”主页面，查看当前的“IP 地址和端口”，例如：",[142,259,263],{"className":260,"code":261,"filename":262,"language":216,"meta":148},[213],"IP 地址和端口：192.168.0.106:39175\n","无线连接信息",[17,264,261],{"__ignoreMap":148},[10,266,267,268,271],{},"这里的 ",[17,269,270],{"code":270},"39175"," 是连接端口。使用它执行：",[142,273,276],{"className":144,"code":274,"filename":275,"language":147,"meta":148,"style":148},"adb connect 192.168.0.106:39175\n","连接无线设备",[17,277,278],{"__ignoreMap":148},[152,279,280,282,285],{"class":154,"data-line":155,"line":155},[152,281,159],{"class":158},[152,283,284],{"class":162}," connect",[152,286,287],{"class":162}," 192.168.0.106:39175\n",[10,289,290],{},"连接成功后会看到：",[142,292,295],{"className":293,"code":294,"language":216,"meta":148},[213],"connected to 192.168.0.106:39175\n",[17,296,294],{"__ignoreMap":148},[10,298,299],{},"最后检查 ADB 和 Flutter 是否已经识别设备：",[142,301,302],{"className":144,"code":145,"filename":146,"language":147,"meta":148,"style":148},[17,303,304,312],{"__ignoreMap":148},[152,305,306,308,310],{"class":154,"data-line":155,"line":155},[152,307,159],{"class":158},[152,309,163],{"class":162},[152,311,167],{"class":166},[152,313,314,316],{"class":154,"data-line":170,"line":170},[152,315,173],{"class":158},[152,317,176],{"class":162},[10,319,320,323],{},[17,321,322],{"code":322},"adb devices -l"," 应该出现类似结果：",[142,325,328],{"className":326,"code":327,"language":216,"meta":148},[213],"192.168.0.106:39175 device product:... model:... device:...\n",[17,329,327],{"__ignoreMap":148},[10,331,109,332,334],{},[17,333,193],{"code":193}," 提示连接失败，确认手机和 Mac 位于同一个局域网，并重新查看无线调试主页面中的连接端口。无线调试关闭后重新开启时，连接端口可能发生变化。",[39,336,338],{"id":337},"使用-usb-连接华为手机","使用 USB 连接华为手机",[10,340,341],{},"完整连接流程可以分为四步：",[343,344,345,348,351,354,357,360,363,366],"timeline",{},[10,346,347],{},"{1. 开启开发者选项}",[10,349,350],{},"连续点击版本号，进入开发人员选项。",[10,352,353],{},"{2. 开启 USB 调试}",[10,355,356],{},"允许当前 Mac 通过 ADB 调试手机。",[10,358,359],{},"{3. 建立 USB 数据连接}",[10,361,362],{},"使用支持数据传输的线材，并选择 MTP 模式。",[10,364,365],{},"{4. 运行 Flutter 项目}",[10,367,368,369,372,373,37],{},"确认 ADB 设备状态为 ",[17,370,371],{"code":371},"device","，再执行 ",[17,374,27],{"code":27},[376,377,378],"h3",{"id":378},"开启开发者选项",[10,380,381],{},"在华为手机中进入“设置 → 关于手机”，连续点击“版本号”7 次。系统提示已进入开发者模式后，返回：",[142,383,386],{"className":384,"code":385,"language":216,"meta":148},[213],"设置\n└── 系统和更新\n    └── 开发人员选项\n",[17,387,385],{"__ignoreMap":148},[10,389,390],{},"开启以下选项：",[392,393,394,399],"ul",{},[123,395,396],{},[17,397,398],{"code":398},"USB 调试",[123,400,401,404],{},[17,402,403],{"code":403},"仅充电模式下允许 ADB 调试","，如果系统提供该选项",[376,406,407],{"id":407},"使用支持数据传输的线材",[10,409,410],{},"手机能够充电，不代表 USB 数据连接一定正常。部分数据线只有供电能力，部分扩展坞的 USB-C 接口也可能只是 PD 充电口。",[10,412,413],{},"排障时建议：",[392,415,416,419,422,425],{},[123,417,418],{},"手机保持解锁状态。",[123,420,421],{},"使用明确支持数据传输的 USB 线。",[123,423,424],{},"暂时绕过显示器、转接器和扩展坞。",[123,426,427],{},"将手机直接连接到 Mac 的 USB 接口。",[103,429,431],{"title":430,"type":198},"充电正常不代表数据正常",[10,432,433,434,436],{},"当 ",[17,435,19],{"code":19}," 完全为空时，最常见的原因不是 Flutter，而是线材、扩展坞接口或手机的 USB 模式没有建立数据连接。",[376,438,440],{"id":439},"选择-mtp-模式","选择 MTP 模式",[10,442,443],{},"连接手机后，下拉通知栏，打开 USB 用途设置。华为手机可能显示以下选项：",[47,445,446,459],{},[50,447,448],{},[53,449,450,453,456],{},[56,451,452],{},"模式",[56,454,455],{},"用途",[56,457,458],{},"调试建议",[66,460,461,471,482,493],{},[53,462,463,465,468],{},[71,464,23],{},[71,466,467],{},"文件传输",[71,469,470],{},"优先选择，确保进入 USB 数据连接模式",[53,472,473,476,479],{},[71,474,475],{},"PTP",[71,477,478],{},"照片传输",[71,480,481],{},"主要用于导入照片",[53,483,484,487,490],{},[71,485,486],{},"RNDIS",[71,488,489],{},"USB 网络共享",[71,491,492],{},"将手机作为网络设备使用",[53,494,495,498,501],{},[71,496,497],{},"MIDI",[71,499,500],{},"MIDI 乐器和音频设备",[71,502,503],{},"与 Android 调试无关",[10,505,506,507,509,510,512],{},"本次连接中，手机最初只能充电，",[17,508,19],{"code":19}," 没有任何设备。选择 ",[17,511,23],{"code":23}," 后，Mac 收到了 USB 数据信号，手机随即弹出 USB 调试授权窗口。",[10,514,515],{},"在授权窗口中勾选“始终允许使用这台计算机”，然后点击“允许”。",[39,517,519],{"id":518},"检查-adb-连接状态","检查 ADB 连接状态",[10,521,522],{},"首先执行：",[142,524,527],{"className":144,"code":525,"filename":526,"language":147,"meta":148,"style":148},"adb devices -l\n","检查 ADB 设备",[17,528,529],{"__ignoreMap":148},[152,530,531,533,535],{"class":154,"data-line":155,"line":155},[152,532,159],{"class":158},[152,534,163],{"class":162},[152,536,167],{"class":166},[10,538,539],{},"如果设备列表为空，可以重启 ADB 服务：",[142,541,544],{"className":144,"code":542,"filename":543,"language":147,"meta":148,"style":148},"adb kill-server\nadb start-server\nadb devices -l\n","重启 ADB",[17,545,546,553,560],{"__ignoreMap":148},[152,547,548,550],{"class":154,"data-line":155,"line":155},[152,549,159],{"class":158},[152,551,552],{"class":162}," kill-server\n",[152,554,555,557],{"class":154,"data-line":170,"line":170},[152,556,159],{"class":158},[152,558,559],{"class":162}," start-server\n",[152,561,563,565,567],{"class":154,"data-line":562,"line":562},3,[152,564,159],{"class":158},[152,566,163],{"class":162},[152,568,167],{"class":166},[10,570,571],{},"ADB 服务正常启动，但列表仍然为空时，说明 Mac 尚未识别到手机的 USB 调试接口。此时应继续检查线材、接口和 USB 模式，而不是重新安装 Flutter。",[10,573,574],{},"常见状态如下：",[47,576,577,590],{},[50,578,579],{},[53,580,581,584,587],{},[56,582,583],{},"输出状态",[56,585,586],{},"含义",[56,588,589],{},"处理方式",[66,591,592,603,616,629],{},[53,593,594,597,600],{},[71,595,596],{},"完全为空",[71,598,599],{},"没有建立 USB 数据连接",[71,601,602],{},"切换 MTP、换线、换接口、绕过扩展坞",[53,604,605,610,613],{},[71,606,607],{},[17,608,609],{"code":609},"unauthorized",[71,611,612],{},"手机尚未授权当前 Mac",[71,614,615],{},"解锁手机并允许 USB 调试",[53,617,618,623,626],{},[71,619,620],{},[17,621,622],{"code":622},"offline",[71,624,625],{},"ADB 会话异常",[71,627,628],{},"重插数据线并重启 ADB",[53,630,631,635,638],{},[71,632,633],{},[17,634,371],{"code":371},[71,636,637],{},"连接正常",[71,639,640],{},"可以运行 Flutter 项目",[10,642,643],{},"本次成功连接后，输出如下：",[142,645,649],{"className":646,"code":647,"filename":648,"language":216,"meta":148},[213],"List of devices attached\nANYXVB4C04002519  device usb:18022400X product:BVL-AN00 model:BVL_AN00 device:HNBVL-AN00 transport_id:2\n","成功识别华为手机",[17,650,647],{"__ignoreMap":148},[10,652,653,654,37],{},"其中最重要的是设备编号后的状态为 ",[17,655,371],{"code":371},[103,657,659],{"title":658,"type":106},"macOS 通常不需要安装华为驱动",[10,660,661],{},"macOS 使用 Android Platform-Tools 中的 ADB 与手机通信，一般不需要额外安装 Windows 平台常见的手机 USB 驱动。",[39,663,664],{"id":664},"没有出现授权弹窗怎么办",[10,666,667],{},"如果已经选择 MTP，但手机没有弹出 USB 调试授权窗口，可以依次执行：",[120,669,670,673,676,679,682],{},[123,671,672],{},"进入“开发人员选项”。",[123,674,675],{},"点击“撤销 USB 调试授权”。",[123,677,678],{},"关闭并重新开启 USB 调试。",[123,680,681],{},"将“默认 USB 配置”设置为文件传输或 MTP。",[123,683,684],{},"拔掉数据线并重新连接。",[10,686,687],{},"还可以检查 macOS 是否在 USB 总线上识别到手机：",[142,689,692],{"className":144,"code":690,"filename":691,"language":147,"meta":148,"style":148},"system_profiler SPUSBDataType\n","检查 macOS USB 设备",[17,693,694],{"__ignoreMap":148},[152,695,696,699],{"class":154,"data-line":155,"line":155},[152,697,698],{"class":158},"system_profiler",[152,700,701],{"class":162}," SPUSBDataType\n",[10,703,704],{},"如果这里也完全看不到手机，优先更换线材或连接接口。",[39,706,708],{"id":707},"使用-flutter-运行项目","使用 Flutter 运行项目",[10,710,711],{},"ADB 状态正常后，检查 Flutter 是否能够发现设备：",[142,713,716],{"className":144,"code":714,"filename":715,"language":147,"meta":148,"style":148},"flutter devices\n","检查 Flutter 设备",[17,717,718],{"__ignoreMap":148},[152,719,720,722],{"class":154,"data-line":155,"line":155},[152,721,173],{"class":158},[152,723,176],{"class":162},[10,725,726],{},"进入 Flutter 项目目录并运行：",[142,728,731],{"className":144,"code":729,"filename":730,"language":147,"meta":148,"style":148},"flutter run\n","运行到默认设备",[17,732,733],{"__ignoreMap":148},[152,734,735,737],{"class":154,"data-line":155,"line":155},[152,736,173],{"class":158},[152,738,739],{"class":162}," run\n",[10,741,742],{},"如果同时连接了多个模拟器或真机，可以指定设备编号：",[142,744,747],{"className":144,"code":745,"filename":746,"language":147,"meta":148,"style":148},"flutter run -d ANYXVB4C04002519\n","指定华为手机",[17,748,749],{"__ignoreMap":148},[152,750,751,753,756,759],{"class":154,"data-line":155,"line":155},[152,752,173],{"class":158},[152,754,755],{"class":162}," run",[152,757,758],{"class":166}," -d",[152,760,761],{"class":162}," ANYXVB4C04002519\n",[10,763,764],{},"正常情况下会看到：",[142,766,769],{"className":767,"code":768,"language":216,"meta":148},[213],"Launching lib\u002Fmain.dart on BVL AN00 in debug mode...\nRunning Gradle task 'assembleDebug'...\n",[17,770,768],{"__ignoreMap":148},[10,772,773],{},"第一次运行 Android 项目通常比较慢，因为 Gradle 需要下载依赖、编译 Android 工程并生成 Debug APK。构建完成后会继续安装应用并同步文件：",[142,775,778],{"className":776,"code":777,"language":216,"meta":148},[213],"Installing build\u002Fapp\u002Foutputs\u002Fflutter-apk\u002Fapp-debug.apk...\nSyncing files to device...\n",[17,779,777],{"__ignoreMap":148},[10,781,782],{},"运行期间可以使用以下快捷键：",[47,784,785,795],{},[50,786,787],{},[53,788,789,792],{},[56,790,791],{},"按键",[56,793,794],{},"作用",[66,796,797,807,817,827],{},[53,798,799,804],{},[71,800,801],{},[17,802,803],{"code":803},"r",[71,805,806],{},"热重载",[53,808,809,814],{},[71,810,811],{},[17,812,813],{"code":813},"R",[71,815,816],{},"热重启",[53,818,819,824],{},[71,820,821],{},[17,822,823],{"code":823},"h",[71,825,826],{},"查看全部命令",[53,828,829,834],{},[71,830,831],{},[17,832,833],{"code":833},"q",[71,835,836],{},"停止调试",[39,838,839],{"id":839},"快速排障顺序",[10,841,433,842,844],{},[17,843,19],{"code":19}," 没有显示华为手机时，按照下面的顺序排查通常最快：",[142,846,849],{"className":847,"code":848,"language":216,"meta":148},[213],"adb devices 为空\n├── 手机是否解锁\n├── USB 调试是否开启\n├── 是否选择 MTP\u002F文件传输\n├── 是否弹出并允许 USB 调试授权\n├── 数据线是否支持数据传输\n├── 是否绕过扩展坞直接连接 Mac\n└── 重启 ADB 后再次检测\n",[17,850,848],{"__ignoreMap":148},[103,852,855],{"title":853,"type":854},"最终判断标准","tip",[10,856,857,858,860,861,863,864,867],{},"只要 ",[17,859,322],{"code":322}," 中设备状态为 ",[17,862,371],{"code":371},"，并且 ",[17,865,866],{"code":866},"flutter devices"," 能看到手机，就说明 Flutter 真机调试环境已经连接完成。",[10,869,870],{},"有线调试期间手机会同时充电，这是 USB 连接的正常行为。macOS 没有通用且可靠的方式在保持 ADB 数据连接的同时关闭供电。",[872,873,874],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":148,"searchDepth":876,"depth":876,"links":877},4,[878,879,880,881,886,887,888,889],{"id":41,"depth":170,"text":42},{"id":115,"depth":170,"text":115},{"id":182,"depth":170,"text":183},{"id":337,"depth":170,"text":338,"children":882},[883,884,885],{"id":378,"depth":562,"text":378},{"id":407,"depth":562,"text":407},{"id":439,"depth":562,"text":440},{"id":518,"depth":170,"text":519},{"id":664,"depth":170,"text":664},{"id":707,"depth":170,"text":708},{"id":839,"depth":170,"text":839},[891],"移动开发","2026-08-04","记录在 macOS 上连接华为 Android 真机运行 Flutter 项目的完整过程，包含 ADB 无线配对与连接、USB 调试、MTP 模式、adb devices 为空及首次 Gradle 构建排查。",false,"md",null,{"slots":898},{},true,"\u002F2026\u002F08\u002Fflutter-huawei-usb-device-debugging",{"text":902,"minutes":903,"time":904,"words":905},"12 min read",11.1,666000,2220,{"title":5,"description":893},{"loc":900},"posts\u002F2026\u002F08\u002Fflutter-huawei-usb-device-debugging",[910,911,912,913,914],"Flutter","Android","ADB","华为","macOS","tech","2026-08-06","ycLY76CiCjlL2GBd_sRbRoN5Jc7xkmEvud9rxOWZUTc",[919,922],{"title":36,"path":35,"stem":920,"date":921,"type":915,"children":-1},"posts\u002F2026\u002F08\u002Fflutter-macos-environment-setup","2026-08-02",{"title":923,"path":924,"stem":925,"date":926,"type":915,"children":-1},"Go 使用 JWS 与 RS256 实现私钥签名、公钥验签","\u002F2026\u002F08\u002Fgo-jws","posts\u002F2026\u002F08\u002Fgo-jws","2026-08-13",1786555052636]