电子商务网站开发项目设计报告,二级网站收录,wordpress 置顶插件,企业网站建设飞沐调试Android程序时#xff0c;我们经常需要使用adb shell命令。adb是Android Debug Bridge的缩写#xff0c;它充当调试桥梁的作用#xff0c;就像一条连接开发机和设备之间的桥梁。
通过adb#xff0c;我们可以在Eclipse中使用DDMS来调试Android程序#xff0c;简单来说…调试Android程序时我们经常需要使用adb shell命令。adb是Android Debug Bridge的缩写它充当调试桥梁的作用就像一条连接开发机和设备之间的桥梁。
通过adb我们可以在Eclipse中使用DDMS来调试Android程序简单来说就是一种调试工具。它通过监听特定端口如TCP 5554来实现开发机和模拟器/设备之间的通讯。当我们运行Eclipse时默认情况下会启动adb进程。
adb是一个C/S模式的程序由三个部分组成客户端、服务器和守护进程。其中客户端和服务器运行在开发机上守护进程运行在模拟器或设备上。
通常adb可执行文件位于/platform-tools/目录下这是Android SDK的安装目录。为了方便使用我们可以将adb路径添加到系统环境变量path中例如D:\sdk\platform-tools; 这样每次打开命令行工具时都可以直接使用adb命令而不必进入adb目录。
以下是一些常用的adb命令可以帮助我们进行调试和测试
adb devices查看当前连接的设备列表adb install [apk文件路径]安装一个应用程序adb uninstall [包名]卸载一个应用程序adb logcat查看设备的日志信息adb shell am start [包名/类名]启动一个应用程序adb shell input text [文本]模拟输入文本到设备adb shell screencap [文件路径]截屏并保存为图片文件adb pull [设备文件路径] [本地文件路径]从设备上复制文件到本地计算机adb push [本地文件路径] [设备文件路径]将本地文件复制到设备上 更详细的如下表~
命令描述android list targets显示系统中全部Android平台android list avd显示系统中全部AVD(模拟器)android create avd –name 名称 –target 平台编号创建AVD(模拟器)emulator -avd 名称 -sdcard ~/名称.img (-skin 1280×800)启动模拟器android delete avd –name 名称删除AVD(模拟器)mksdcard 1024M ~/名称.img创建SDCardddms启动DDMSadb devices显示当前运行的全部模拟器adb -s 模拟器编号 命令对某一模拟器执行命令adb install -r 应用程序.apk安装应用程序adb pull remote local获取模拟器中的文件adb push local remote向模拟器中写文件adb shell进入模拟器的shell模式android启动SDK文档实例下载管理器adb uninstall apk包的主包名卸载apk包adb help查看adb命令帮助信息adb logcat -s 标签名在命令行中查看LOG信息adb remount删除系统应用adb shellcd data/apprm apk包exit缷载apk包adb remount删除系统应用重新挂载系统分区使系统分区重新可写adb shellcd system/apprm *.apk删除系统应用adb root获取管理员权限adb shell am start -n 包名/包名类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)启动Activityadb forward tcp:5555 tcp:8000发布端口adb push source destination复制文件到设备或模拟器上adb pull source destination从设备或模拟器上复制文件adb devices搜索模拟器/设备的实例adb bugreport查看bug报告adb shell logcat -b radio记录无线通讯日志adb get-product获取设备的IDadb get-serialno获取设备的序列号adb shell sqlite3访问数据库SQLite3adb shellcd system/sd/datals进入系统内指定文件夹并列出内容adb shellrm -r xxx删除名为xxx的文件夹及其内部所有文件adb shellrm xxx删除文件xxxadb shellrmdir xxx删除文件夹xxx
一、常用简单的adb命令
命令描述adb devices获取设备列表和设备的状态adb get-state获取设备的状态deviceofflineunknownadb kill-serveradb start-server结束启动adb服务adb install -r覆盖安装应用apkadb uninstall卸载应用应用包名adb pull将设备上的文件复制到电脑上adb push将电脑上的文件复制到设备上adb reboot重启设备adb connect远程连接设备adb disconnect断开设备连接
二、adb shell pm基本的命令
命令描述adb shell pm list package -s列出系统应用adb shell pm list package -3列出第三方的应用adb shell pm list package -i列出来源adb shell pm list package -f列出包名和路径adb shell pm path packagename列出应用apk的位置adb shell pm dump packagename列出应用相关的信息adb shell pm clear packagename清除应用的缓存数据adb shell pm install /data/local/tmp/test.apk安装应用adb shell pm install -r /data/local/tmp/test.apk重新安装应用adb shell pm uninstall -k packagename卸载应用保留缓存数据adb shell pm install -d apk允许降级安装
三、adb shell am基本的命令
命令描述adb shell am start -n activityname启动一个Activityadb shell am start -W activityname等待页面启动完成adb shell am start -S activityname先停止应用再启动am force-stop packagename结束应用
三、adb shell dumpsys基本的命令
命令描述adb shell dumpsys cpuinfo监控CPU信息adb shell dumpsys meminfo监控内存信息adb shell dumpsys power监控电源信息adb shell dumpsys battery监控电池信息adb shell dumpsys wifi监控WiFi信息adb shell dumpsys notification监控通知信息adb shell dumpsys activity获取页面信息
四、关闭某项进程以monkey为例
命令描述ps | grep monkey查看monkey进程的pidkill pid杀死monkey进程
五、最近12小时的资源情况
命令描述adb shell dumpsys procstats --hours 12查看最近12小时的资源情况
六、录制屏幕命令
命令描述adb shell screenrecord /sdcard/demo.mp4录制屏幕视频--time-limit限制录制时间--size指定视频分辨率大小--bit-rate指定视频的比特率--verbose在命令行显示日志
七、截图命令
命令描述adb shell screencap -p /sdcard/screen.png截取屏幕截图并保存到指定位置
八、input命令
adb shell input:
text 输入文本keyevent 输入事件tap 点击swipe 滑动
九、关于获取当前页面的信息
命令描述adb shell dumpsys activity top | findstr ACTIVITY获取当前界面的Activityadb shell dumpsys activity | findstr mFocusedActivity获取当前页面的activity
十、生成当前页面的xml文本
命令描述adb shell uiautomator dump [file]获取当前页面的XML信息
示例XML信息中的属性说明
text控件中显示的文本内容class控件的类型package包名content-desc说明checkable是否允许checkcheckedcheck状态clickable是否允许clickenabled控件状态focusable是否允许获取焦点focused是否获取到焦点scrollable是否允许滚动long-clickable是否允许长按password是否是密码控件selectedselect状态bounds控件绘制的长宽及位置四个数据分成两组分别是左上坐标和右下坐标
十一、打印页面的log信息:
命令描述logcat -s ActivityManager打印页面的log信息
十二、系统操作指令:
命令描述adb shell getprop ro.product.model获取设备型号adb shell getprop ro.build.version.release获取设备Android系统版本adb get-serialno获取设备的序列号设备号adb shell wm size获取设备屏幕分辨率adb shell dumpsys activity | find mFocusedActivity查看前台应用包名适用于Android 7.0以下必须先启动appadb shell dumpsys activity | find mResumedActivity查看前台应用包名适用于Android 8.0以上必须先启动app
九、取日志
命令描述adb logcat -v time打印详细的日志信息adb logcat -v time D:\log.txt把日志输出到电脑上的文本文件中adb logcat -c清除之前的日志信息
十、日志过滤 使用管道进程来查看日志 adb logcat \| grep MyApp过滤包含MyApp的日志adb logcat \| grep -i myapp忽略大小写过滤包含myapp的日志 只抓取某个应用的命令 adb logcat \| findstr app进程号只显示特定应用的日志在Windows上使用findstr 日志级别过滤 默认级别为V输出所有日志最低级别。日志级别包括DDebug、IInfo、WWarning、EError、FFatal和SSilent最高级别不输出任何日志。
示例如果想要查看手机上级别为错误的日志可以使用以下命令
adb logcat *:E不区分大小写