解决adb从Android Studio模拟器拉取trace文件提示找不到命令的问题
问题解决步骤
1. 纠正adb命令的执行场景
你遇到的/system/bin/sh: adb: inaccessible or not found错误,核心原因是误在模拟器的shell环境中执行了adb命令——adb是电脑端工具,设备端的shell环境里没有这个命令。正确操作是直接在电脑终端(Android Studio终端、Windows CMD/PowerShell、Cygwin)执行adb pull,不要先运行adb shell进入设备环境。
2. 确认trace文件的真实位置
Device Explorer找不到/sdcard/Android/Trace1.perfetto-trace,可能是文件未生成或路径错误,可按以下方式排查:
- 先确认trace录制操作是否成功:Perfetto录制失败时不会生成文件,检查录制过程是否有报错提示。
- 全局搜索trace文件:在电脑终端执行以下命令,查找所有
.perfetto-trace格式的文件:adb shell find /sdcard -name "*.perfetto-trace" - 排查常见备选路径:Perfetto trace可能保存的位置包括:
- 应用私有目录:
/data/data/[你的应用包名]/files/ - 公共存储目录:
/sdcard/Documents/、/sdcard/Download/
- 应用私有目录:
3. 使用正确的adb pull命令格式
Windows系统下本地路径的写法需注意格式,以下是正确示例:
- Windows CMD/PowerShell/Android Studio终端:
adb pull /sdcard/Android/Trace1.perfetto-trace C:\Users\MyAccount\TraceFile\ - Cygwin终端:
adb pull /sdcard/Android/Trace1.perfetto-trace /cygdrive/c/Users/MyAccount/TraceFile/
4. 备选导出方案
如果adb拉取仍有问题,可尝试更直接的导出方式:
- 从Android Studio Profiler导出:启动Perfetto录制,结束后直接点击界面导出按钮,选择本地保存路径。
- 模拟器内直接分享:打开模拟器的「设置>开发者选项>系统跟踪>录制跟踪」,完成后点击右上角分享按钮,通过邮件/其他可跨设备传输的方式发送到电脑。
5. 验证adb连接状态
先执行以下命令确认模拟器已正常连接:
adb devices
若未检测到设备,执行adb kill-server再adb start-server重启adb服务后重试。
内容的提问来源于stack exchange,提问作者Hashida Hydros
相关产品推荐
相关产品推荐

