1.screencap
2.adb工具的源码基本使用
3.探索Linux下Adb的强大功能linux使用adb
screencap
adb shell screencap -d 0 -p /sdcard/fb0.pngadb shell screencap -d 1 -p /sdcard/fb1.png
注æï¼ android Q ä¸ï¼-d å·²ç»åæäºid ï¼ è¿ä¸ªæ¯åºä»¶çå¼ï¼è·ç¡¬ä»¶ç¸å ³
dumpsys SurfaceFlinger --display-idï¼ è¿ä¸ªè½è·ådisplay id ,å°±ç®èæå±ï¼ä¹æ¯å»ºç«å¨çå®çå±å¹ä¸ï¼å¦æçdp ç±æ²¡ææ¾ç¤ºï¼å°±æªåå®é dp ç©çå±çæ¾ç¤ºå°±å¯ä»¥ã
frameworks/base/cmds/screencap/screencap.cpp
ä»screencap æµç¨å¯ä»¥çåºï¼è·åå¾çå å®¹ï¼ è¿è¡ç¼ç ï¼ç¶ååå¨png æ件ã å ¶ä¸æéè¦çå°±æ¯screenshot.updateï¼çä¸screenshot.updat æµç¨
SFï¼frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp
SF:captureScreen :
captureScreenImplLocked --->layer->draw(hw, useIdentityTransform); è¿è¡äºç»å¶å·¥ä½
å®é SF å°±æ¯å¯¹buffef ,è¿è¡æ§å¶ï¼Zorder ,sourcecropï¼ççãSF 对buffer å¤çå¯ä»¥äº¤ç»GPU ,ä¹å¯ä»¥äº¤ç»HWC .
SF æ¦è¿°æ¶æï¼
screencapï¼åæ使ç¨egl(ä¸å¾é»è²æµç¨)
screencap æªå¾å¤±è´¥çåå ï¼å¯è½æ¯ä¸é¢çåå ï¼å 容åäºä¿æ¤
SF:captureScreenImplLocked
REF:
/p/cafab7a5
/p/cbcceba
adb工具的基本使用
adb全称Android Debug Bridge,是源码Android SDK中的一款工具,通过adb可以实现对Android模拟器或真实设备的源码直接操作管理,扮演着调试桥的源码角色。
adb工具包通常是源码一个压缩文件,无需安装,源码喵赚源码只需解压即可使用。源码解压后包含三个必需文件:adb.exe动态链接库文件、源码adbWinApi.dll和adbWinUsbApi.dll,源码解压后即可直接使用。源码
1. 配置adb环境变量:解压出的源码adb建议不要放在中文路径下。若经常使用adb,源码可将解压文件直接复制到‘C:\Windows’文件夹下,源码进入cmd时即可直接使用adb命令,源码方便快捷。源码或者将adb目录添加到系统变量path中,在cmd中查找adb.exe文件执行命令。示意图1。
2. 部分命令使用示例:adb devices查看当前连接的所有设备,连接到计算机的Android设备或模拟器将列出显示,示意图2。惊雷源码adb shell wm size查看当前连接设备的分辨率,示意图2。
推送文件到设备(adb push 电脑文件路径 手机目标路径)‘push’——‘推’。举例:输入adb push c:\x.txt /sdcard/(从电脑推送x.txt文件到调试设备),将电脑上的应用安装到连接的设备中。示意图3、4、5、6。
拉取文件到电脑(adb pull 手机文件路径 电脑目标路径)‘pull’——‘拉取’。openshell源码举例:输入adb pull /sdcard/a.png c:(从设备下载a.png文件到电脑目录下,a.png可修改其他文件,如b.txt)。示意图7。
截屏命令:adb shell screencap /sdcard/a.png。打印日志并保存到text文件中adb logcat > text.txt。连接好设备,在记事本中添加显示回显echo on,adb连接设备命令,打印日志命令。goscheduler源码将文件格式修改为bat文件(双击bat文件即可自动生成日志),之后每次打印日志都方便快捷。图8,图9。
3. 常用命令
4. adb工具的使用场景:在使用模拟器测试过程中,若软件闪退,通过adb工具打印崩溃日志非常方便。许多Root方法也需要使用adb,只是很多时候我们没有意识到。在我们日常使用Android手机时,失败源码由于修改系统文件导致手机无限重启、误删桌面软件导致桌面全黑、开机马上fc等情况出现时,如果没有adb工具,可能就需要刷机了!除此之外,日常的软件安装卸载、系统文件替换都可以让adb工具帮我们完成。
我们是行者AI,我们在“AI+游戏”中不断前行。
探索Linux下Adb的强大功能linux使用adb
ADB(Android Debug Bridge)是Android开发调试通道,可以让开发者直接安装、调试程序或者执行Shell命令。有了ADB,开发者可以在Linux系统下更方便的调试和管理Android手机。本文将探讨ADB在Linux系统下的强大功能,以期让读者能够轻松熟悉这一用来开发调试Android应用的工具。
首先,我们需要安装ADB。安装ADB的步骤非常简单,用户只需要以root用户身份使用下面的命令就能安装:
# apt-get install adb
安装完成后,我们就可以开始探索ADB的强大功能了。
一个重要的功能是使用ADB安装软件或者游戏。用户只需要运行下面的命令就能安装软件:
# adb install path_to_apk
另一个常用的功能就是使用ADB调试应用程序。用户只需要运行下面的命令就能调试应用程序:
# adb logcat
这个命令会打印出应用程序的日志,方便开发者排查问题和调试程序。
除此之外,ADB也可以执行Shell命令。使用下面的命令就可以打开应用程序:
# adb shell am start com.example.myapp
这条命令会打开“com.example.myapp”程序,方便调试。
此外,还可以使用ADB抓取手机的屏幕截图,以期查看和分析数据。拿Android手机来说,只需要使用以下命令就可以实现:
# adb shell screencap -p /sdcard/screen.png
这个命令会抓取当前的屏幕截图,并保存在/sdcard/screen.png文件下。
最后,ADB也可以用来让用户从ADB服务器查看已连接的设备:
# adb devices
通过这个命令可以查看当前已连接的Android设备列表。
总结
以上就是ADB在Linux系统下的强大功能,它可以用来安装和调试应用程序,抓取屏幕截图,以及查看已连接的设备。本文旨在让读者更好的了解ADB的功能,以轻松解决Android开发问题。