个人开发者:安卓手机adb调试

很多 USB 线外表一样,内部只有电源线,没有数据线芯,插上只能充电,电脑完全识别不到。


一、怎么快速判断是不是线的问题

换一根确定能传数据的线(比如原装线,或平时能连电脑传照片的线),然后:

  1. 手机通知栏:下拉,看有没有"USB 连接方式"或"USB 用于"的选项。如果有,能选"传输文件",说明线有数据功能。
  2. 电脑"此电脑":看有没有多出一个手机图标(如 HUAWEI 手机)。
  3. 设备管理器:看"便携式设备"或"其他设备"里有没有新东西。

如果换线后上面任何一处有变化,那就是原来的线只能充电。


二、如果换了线还是不行

再检查:

  • 手机 USB 调试 和 "仅充电模式下允许 ADB 调试" 都开了吗?
  • 插上后手机有没有弹"是否允许 USB 调试?"------有就勾"一律允许"并确定。
  • 电脑驱动装了吗?(设备管理器有没有黄色感叹号)

三、换线后请跑一下

powershell 复制代码
adb kill-server
adb start-server
adb devices
  • 出现 XXXXXX device → 成功,可以抓日志了。
  • 出现 unauthorized → 手机上点"允许"。
  • 还是空白 → 驱动或调试设置问题,告诉我设备管理器的情况。

请先换线试一次,把 adb devices 结果发我。 这是目前最可能的一步。

好消息:设备已被识别。 unauthorized 说明电脑看到了手机,只是手机端还没授权。


一、解决 unauthorized(30 秒)

看手机屏幕,现在应该弹出了一个窗口:

是否允许 USB 调试?

计算机 RSA 密钥指纹:XX:XX:XX:...

操作:

  1. ✅ 勾选 "一律允许使用这台计算机进行调试"
  2. 点 "允许"

如果没弹窗,按下面顺序试:

  1. 拔掉 USB → 重新插上

  2. 手机:开发者选项里关掉"USB 调试"再打开

  3. 电脑执行 :

    powershell 复制代码
    adb kill-server
    adb start-server
    adb devices

二、验证成功

powershell 复制代码
adb devices

预期:

复制代码
List of devices attached
2UCUT23C22044781        device      ← 从 unauthorized 变成 device

三、然后抓日志

powershell 复制代码
adb logcat -c
# 现在在手机上操作:竖屏 → 前置录 3 秒 → 切后置 → 录 3 秒 → 停止
adb logcat -d > d:\log_full.txt
Get-Content d:\log_full.txt | Select-String "SegmentRecorder|NativeCamCtrl|Transcoder|FATAL|AndroidRuntime" | Out-File d:\log_filtered.txt

把 d:\log_filtered.txt 贴我。


四、⚠️ 若 logcat 抓不到日志

某些华为机型默认关闭了 logcat 输出,需要:

  • 开发者选项 → 日志记录器缓冲区大小 → 改成 "4MB"或更大
  • 开发者选项 → 启用日志记录器缓冲 → 打开(若有此选项)

按禅规第1条:原因确认------release APK 的 debugPrint 被编译优化裁掉了,logcat 抓不到。 走 debug 模式。


log_filtered.txt 是 0 字节,说明过滤关键词一个都没匹配到。两种可能:

  1. 装的是 release APK ,debugPrint 被优化掉了
  2. 日志用了其他 TAG

一、先诊断:用更宽松的关键词

逐条执行,看哪条有输出:

powershell 复制代码
Get-Content d:\log_full.txt | Select-String "flutter" | Measure-Object | Select-Object Count
powershell 复制代码
Get-Content d:\log_full.txt | Select-String "shoot" | Measure-Object | Select-Object Count
powershell 复制代码
Get-Content d:\log_full.txt | Select-String "FFmpeg|ffmpeg" | Measure-Object | Select-Object Count
powershell 复制代码
Get-Content d:\log_full.txt | Select-String "dagou|Dagou" | Measure-Object | Select-Object Count

每条输出的 Count 数字,全贴我。


二、如果 4 条全 0

说明 release APK 的 debugPrint 全被裁掉,logcat 抓不到。

解决方案 :用 flutter run 跑一次(debug 模式,会实时输出 Dart 日志)。

步骤:

  1. 手机连 USB(已连接)

  2. 电脑执行:

    powershell 复制代码
    flutter clean
    flutter pub get
    flutter run
  3. 终端会显示"Installing..."、"Syncing files...",最后出现:

    复制代码
    Flutter run key commands.
    ...

    这就是 debug 模式 ,debugPrint 会实时输出到这个终端窗口。

  4. 手机操作:竖屏 → 前置录 3 秒 → 切后置 → 录 3 秒 → 停止

  5. 终端里 会实时刷出 [Transcoder]、[shoot]、SegmentRecorder 等日志

  6. 复制粘贴终端里关键几行给我

  7. 按 q 退出


三、请你回我

先做第 1 步的 4 条命令,把 Count 数字发我。

  • 若某条 > 0 → 我知道该用哪个关键词抓,直接给你过滤命令
  • 若全 0 → 我们走第 2 步(flutter run)

按禅规第1条:先诊断日志为什么空,再决定抓法。

一、用 flutter run 跑一次(debug 模式)

步骤 1:确保手机连着电脑(已连接)

步骤 2:执行

powershell 复制代码
flutter run

等待 1~3 分钟,会出现:

复制代码
Launching lib\main.dart on ...
Running Gradle task 'assembleDebug'...
...
Flutter run key commands.
r Hot reload.
R Hot restart.
q Quit.

看到这行说明 debug 模式启动成功。


二、同时开第二个 PowerShell 窗口抓 logcat

第一个窗口 :跑 flutter run(保持运行,别关)

第二个窗口:执行

powershell 复制代码
adb logcat -c
adb logcat | Select-String "flutter|Transcoder|shoot|SegmentRecorder|NativeCamCtrl"

这个窗口会实时刷日志。


三、手机操作

在两个窗口都开着的情况下,在手机上操作:

  1. 打开 App
  2. 进拍摄页
  3. 竖屏 → 前置录 3 秒
  4. 切后置 → 录 3 秒
  5. 停止

四、抓日志

第二个窗口 里会刷出大量日志。复制粘贴关键几段给我:

我要的 4 类

1. Transcoder 相关(Dart 侧转码)

复制代码
[Transcoder] hint=...
[Transcoder] success / failed

2. FFmpeg 输出(若失败,可能一大段)

复制代码
ffmpeg version ...
Input #0 ...
Stream #0:0 ...
Output #0 ...

3. SegmentRecorder 相关(Native 合并)

复制代码
SegmentRecorder: prepareSegment: ... hint=...
SegmentRecorder: mergeInternal: muxer started, hint=...

4. 崩溃(若有)

复制代码
FATAL EXCEPTION

五、如果日志太长不好复制

改抓文件:

第二个窗口:

powershell 复制代码
adb logcat -c
adb logcat > d:\log_live.txt

操作完手机后 ,在第二个窗口按 Ctrl+C 停止。

然后:

powershell 复制代码
Get-Content d:\log_live.txt | Select-String "Transcoder|shoot|SegmentRecorder|NativeCamCtrl|FATAL" | Out-File d:\log_key.txt

把 d:\log_key.txt 内容贴我。


六、关键提醒

⚠️ flutter run 会重装 App ,用 debug 签名。若你之前装的是 release APK,会被覆盖 。测试完后想恢复 release 版,重新 flutter install 或重装 APK 即可。


七、请你回我

  1. flutter run 能否启动成功? (看到 Flutter run key commands 那行)
  2. 手机上操作后,日志里 Transcoder / shoot / SegmentRecorder 相关行(贴我)

按禅规第1条:这次 debug 模式一定能抓到日志。有了日志,方向问题就能精准定位。

相关推荐
掉进电商坑三年没爬出来的东叔12 小时前
Vibe Coding实战三:把AI做的小工具部署上云,手机电脑随时用
人工智能·智能手机
我不会插花弄玉12 小时前
7.函数【由浅入深-MySQL】
android·数据库·mysql
vilya12 小时前
手机端 Agent 怎么动起来:Kotlin 与 Python 之间的桥
android·agent
高晶12 小时前
Android 新手实战:从零搭建 WebRTC 在线直播系统
android·程序员
alexhilton12 小时前
为什么你的 LazyColumn 仍然卡顿
android·kotlin·android jetpack
>Andre<14 小时前
系统架构全景
android
wulechun15 小时前
深度解析weiweifan/Big-Data-Resources:构建从基础理论到实战面试的全栈大数据学习体系指南
智能手机
李永奉17 小时前
日常使用的锂电池上,新、旧锂电池的差异分析
单片机·嵌入式硬件·物联网·智能手机·电脑
大雷神18 小时前
从一道24点到同屏双人派对:用鸿蒙开发助手起步,复用已有App开发手机元服务
华为·智能手机·harmonyos