adb操作及部分linux

ADB简介:

ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。安卓调试桥 (Android Debug Bridge, adb),是一种可以用来操作手机设备或模拟器的命令行工具。它存在于 sdk/platform-tools 目录下。虽然现在 Android Studio 已经将大部分 ADB 命令以图形化的形式实现了,但是了解一下还是有必要的。

 

 

查看屏幕分辨率: wm size   1280*720

使用screencap<filename> 命令来进行手机屏幕截图,例如:

adb shell screencap /sdcard/screen.png

图片保存到电脑:退出adb: exit

adb pull /sdcard/screen.png 指定保存的目录

adb pull 需要复制文件的目录 指定保存的目录

使用adb shell input tap命令来模拟屏幕点击事件

 

1.1. .事件输入:

查看屏幕分辨率: wm size

确认检测:960 540

策略提示确认:640 610

input:

使用adb shell input命令向屏幕输入一些信息,

例如:

adb shell input text  "insert%stext%shere"

注意:%s表示空格。

 

使用adb shell input tap命令来模拟屏幕点击事件,例如:

adb shell input tap 500 1450

表示在屏幕上(5001450)的坐标点上进行一次点击。

 

使用adb shell input swipe命令来模拟手势滑动事件,例如:

adb shell input swipe 100 500 100 1450 100

表示从屏幕坐标(100500)开始,滑动到(100,1450)结束,整个过程耗时100ms.

 

使用上面的命令还可以模拟**长按(long press**操作,也就是2个坐标点相同,耗时超过500ms.

adb shell input swipe 100 500 100 500 500

 

使用adb shell input keyevent命令来模拟点按实体按钮的命令,例如:

adb shell input keyevent 25

该命令表示调低音量。数字25是在AOSP源码中的KeyEvent类里卖弄定义的一个事件常量。该类定义了将近300个事件常量。

 

adb shell am start -a "android.intent.action.VIEW" -d "https://www.google.com"

上面这个命令会启动浏览器打开谷歌网址页面。

还可以在上述命令后面添加**-e**来添加额外的信息。

 

使用下面的命令可以直接让手机重启:

adb shell am broadcast -a android.intent.action.BOOT_COMPILETED

.事件输出

1.2. 屏幕截图:

查看屏幕分辨率: wm size

使用screencap<filename> 命令来进行手机屏幕截图,例如:

adb shell screencap /sdcard/screen.png

图片保存到电脑:退出adb: exit

Adb pull /sdcard/screen.png 指定保存的目录

Adb pull 需要复制文件的目录 指定保存的目录

 

录制视频:

使用screenrecord [options] filename命令来录制屏幕视频,例如:

adb shell screenrecord /sdcard/demo.mp4

1

注:此命令适用于Android 4.4及以上的设备中。

录制视频也有参数选项,比如 --size 设置视频大小, --time-limit设置最大录制时长等。

 

 

 

 

查看当前连接设备:

adb devices

1

如果发现多个设备:

adb -s 设备号 其他指令

1

举例:

adb -s devicel install xxx.apk

 

查看顶部Activity:

windows环境下:

adb shell dumpsys activity | findstr "mFocusedActivity"

1

LinuxMac环境下:

adb shell dumpsys activity | grep "mFocusedActivity"

1

查看日志:

adb logcat

1

安装apk文件:

adb install xxx.apk

1

此安装方式,如果已经存在,无法安装;

推荐使用覆盖安装:

adb install -r xxx.apk

1

比分直接RUN出来的包是test-onlu的无法安装,推荐使用**-t**

adb install -r -t xxx.apk

1

卸载App:

adb uninstall com.zhy.app

1

如果想要保留数据,则:

adb uninstall -k com.zhy.app

1

传递文件:

往手机SDCard传递文件:

adb push 文件名 手机端SDCard路径

1

例如:

adb push 帅照.jpg /sdcard/

 

从手机端下载文件:

adb pull /sdcard/xxx.txt

1

查看手机端安装的所有app包名:

adb shell pm list packages

1

启动Activity:

adb shell am start 包名/完整Activity路径

1

例如:

adb shell am start com.zhy.aaa/com.zhy.aaa.MainActivity

 

如果需要携带参数(携带一个Intent,Key name):

adb shell am start com.zhy.aaa/com.zhy.aaa.MainActivity -e name zhy

1

启动一个隐式的Intent:

adb shell am start -a "android.intent.action,VIEW" -d "https://www.google.com"

1

发送广播:

adb shell am broadcast -a "broadcastactionfilter"

1

-如果需要携带参数(携带一个Intent,keyname:

adb shell am broadcast -a "broadcastactionfilter" -e name zhy

1

启动服务:

adb shell am startservice "com.zhy.aaa/com.zhy.aaa.MyService"

1

屏幕截图:

可以使用screencap命令来进行手机屏幕截图,例如:

adb shell screencap /sdcard/screen.png

1

录制视频:

可以使用screenrecord[options] filename命令来录制屏幕视频,例如:

adb shell screenrecord /sdcard/demo.mp4

 

 

. 安装和卸载

安装:

我们可以使用adb install [option] <path> 命令来将电脑上的一个APP安装到手机上,例如:

adb install crime.apk

注意:有时候apk文件不在你的启动cmd的路径下,记得添加apk文件在你电脑上的path路径。

如果当前连接的设备个数超过一个(比如开启多个模拟器)

那么在安装操作之前,我们需要现在cmd中输入adb devices查看当前连接的设备的序列号,并复制你想要给哪个设备安装apk文件的设备序列号。然后指定要操作的设备的序列号,执行adb -s [serial_number] command 命令。

比如现在有多个设备连接了电脑并都打开了开发者模式,那么我如果直到了我当前华为设备的序列号后,输入下列命令:

adb -s A5R7N18202000063 install crime.apk

1

即可安装成功crime.apk文件了。

 

覆盖安装:

如果你当前要操作的手机设备已经安装了你想要安装的APP,你再去执行安装命令(即重复安装),就会报错:Failure [INSTALL_FAILED_ALREADY_EXISTS].解决方案为:覆盖安装:加上**-r**(replace)来替换当前已安装的应用。

adb install -r crime.apk

 

卸载:

卸载一个当前设备上的某个APP的命令为:adb uninstall [option]<packagename>,前提是你得直到你想要卸载的APP的包名。

注意:卸载APP知道它的包名;从电脑上安装APP到手机上只需要知道电脑中APK 的存放路径和APK文件名。

APP卸载后,其缓存文件一般也会被清除。

如果要想保留缓存文件,添加 -k,:

adb uninstall -k 包名

 

如果想把手机中的文件拷贝到电脑中,使用**adb pull <remote> [local]**命令。其中,local地址为空,则会拷贝到电脑当前目录下:

例如:adb pull /sdcard/crime.apk

 

如果想要把电脑中的文件拷贝到手机里面,使用adb push <local> <remote> 命令:

adb push crime.apk /sdcard/data/data

 

 

 

 

 

 

 

 

 

2. Linux

 

find命令能够按多种方式指定查询条件,然后进行查询出指定的文件。

#find / -name file1

-name文件名:按找文件名进行查找。
-type文件类型:按文件类型进行查找。
-size[+| -]nc|k):按照文件尺寸进行查找。
-perm[+| -]文件权限:按照文件权限进行查找。

压缩

gzip /home/file

解压gzip -d file.gz

解压.zip文件命令:unzip

压缩 Zip  fili.zip  file

 

解压tar -zxvf .tar.gz

压缩Tar -zcvf .tar.gz

 

1、*.tar 用 tar –xvf 解压

 

  2、*.gz 用 gzip -d或者gunzip 解压

 

  3、.tar.gz和.tgz 用 tar –xzf 解压

 

  4、*.bz2 用 bzip2 -d或者用bunzip2 解压

 

  5、*.tar.bz2用tar –xjf 解压

 

  6、*.Z 用 uncompress 解压

 

  7、*.tar.Z 用tar –xZf 解压

 

  8、*.rar 用 unrar e解压

 

9、*.zip 用 unzip 解压

 

查看压缩包内容:zip -sf @@.zip

Unzip -l @@.zip

 

posted @   伍志杰  阅读(369)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示