Android Profiler无法列出全部会话仅显示No debuggable processes如何解决
开启Android Profiler查看非当前项目应用的方法
- 前提要求:目标设备系统版本需高于等于Android 8.0(API 26),低于该版本的系统仅支持 profiling 当前项目编译出的可调试应用
- 模拟器配置:直接使用官方提供的Google Play或Google API类型的模拟器即可,无需额外配置,打开Profiler后在会话下拉菜单就能看到所有运行中应用的选项
- 真机配置:
- 首先确保手机已开启开发者模式和USB调试,部分品牌需额外开启「USB调试(安全设置)」「允许调试安装的应用」等相关权限
- 如果你要查看的是可调试版本的第三方应用:直接在Profiler的设备选择下拉框选中对应真机后,会话列表会自动展示所有运行中的可调试应用
- 如果你要查看的是正式版不可调试的热门应用:需要对应用进行重打包注入可调试属性,步骤如下:
- 提取目标应用的APK安装包
- 使用
apktool解包APK,修改AndroidManifest.xml中application节点的android:debuggable属性为true - 重新签名打包后安装到设备,即可在Profiler中看到对应会话
- 也可以直接使用独立版Android Profiler,无需打开Android Studio项目,启动后直接连接设备就能看到所有符合条件的应用会话,和官方展示的多会话下拉菜单效果一致。
整机设备资源占用Profiling方案
- 系统自带工具:大部分安卓手机开发者选项中自带「功耗监控」「CPU使用情况」「GPU呈现模式分析」等功能,可查看整机和各个应用的基础资源占用数据
- ADB命令行工具:
- 使用
adb shell top命令可实时查看整机CPU、内存占用排行 - 使用
adb shell dumpsys meminfo命令可获取详细的整机内存分配数据 - 使用
adb shell dumpsys gfxinfo可获取整机图形渲染相关的性能数据
- 使用
- 专业性能分析工具:可以使用Perfetto、Simpleperf等安卓官方提供的性能分析工具,支持整机全维度的CPU、内存、GPU、网络等资源的耗时和占用分析,可导出完整的trace文件做后续深度分析
- 如果你需要可视化的整机监控面板,也可以使用Android Studio内置的Device Explorer配合性能监测插件,或者使用第三方开源的安卓性能监控工具实现实时数据展示。
内容的提问来源于stack exchange,提问作者Miłosz
相关产品推荐
相关产品推荐

