2.2-adb和adb-shell

Android SDK下载安装及配置教程:

https://blog.csdn.net/qq_35868412/article/details/91366770

Android SDK 目录和作用详解

  • add-ons这里面保存着附加库,比如GoogleMaps,当然你如果安装了OphoneSDK,这里也会有一些类库在里面。也可以是厂商自己制作的add-ons。开发中该文件是可选的,如果你没有用到这里面的api,则可以不用下载

  • docs这里面是Android SDKAPI参考文档,所有的API都可以在这里查到。

  • market_licensing作为AndroidMarket版权保护组件,一般发布付费应用到电子市场可以用它来反盗版。

  • platforms是每个平台的SDK真正的文件,里面会根据APILevel划分的SDK版本,这里就以Android2.2来说,进入后有一个android-8的文件夹,android-8进入后是Android2.2SDK的主要文件,其中ant为ant编译脚本,data保存着一些系统资源,images是模拟器映像文件,skins则是Android模拟器的皮肤,templates是工程创建的默认模板,android.jar则是该版本的主要framework文件,tools目录里面包含了重要的编译工具,比如aapt、aidl、逆向调试工具dexdump和编译脚本dx。至少要安装一个platforms。

  • platform-tools保存着一些通用工具,比如adb、和aapt、aidl、dx等文件,Android123提示,这里和platforms目录中tools文件夹有些重复,主要是从android2.3开始这些工具被划分为通用了。必须安装

  • samples是Android SDK自带的默认示例工程,里面的apidemos强烈推荐初学者运行学习,对于SQLite数据库操作可以查看NotePad这个例子,对于游戏开发Snake、LunarLander都是不错的例子,对于Android主题开发Home则是androidm5时代的主题设计原理。

  • tools 作为SDK根目录下的tools文件夹,这里包含了重要的工具,比如ddms用于启动Android调试工具,比如logcat、屏幕截图和文件管理器,而draw9patch则是绘制android平台的可缩放png图片的工具,sqlite3可以在PC上操作SQLite数据库,而 monkeyrunner则是一个不错的压力测试应用,模拟用户随机按键,mksdcard则是模拟器SD映像的创建工具,emulator是 android模拟器主程序,不过从android 1.5开始,需要输入合适的参数才能启动模拟器,traceview作为android平台上重要的调试工具。

  • usb_driver 顾名思义,保存着android平台google官方机型的驱动如nexus one、nexus s,同时也有一些老机型驱动的支持,比如说htc dream、htc magic和Motorola 的droid。

  • adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以通过DDMS来调试Android程序,说白了就是debug工具。它存在于 sdk/platform-tools 目录下。
    怎么查看内存泄露
  • adb有什么用?:借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作
  • adb 的工作原理是什么?
    adb一个 client-server 程序,包含三个组件:
  • client 在计算机上运行。你可以通过 adb 命令,从 shell 中调用一个client。其他工具例如 ADT 插件和 DDMS 也可以创建 adb 客户端。
  • daemon,模拟器或者设备上的后台进程。
  • server,计算机上的一个后台进程。server 管理 client 与 daemon 之间的通信。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B6Btba1o-1650937895558)(https://boostnote.io/api/teams/dlm1ZMj21/files/52f7074dce93d2493686aa16f0405d18594246bca03cef6587ecc96374bcafe7-adb.jpg)]

连接夜神模拟器
输入nox_adb.exe connect 127.0.0.1:62001即可以连接到adb 或者是 adb connect 127.0.0.1:62001

1. 查看设备

adb devices

这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示

2.安装软件

adb install
#adb install "C:\Users\tangpeng\Downloads\OneAset1.0.5common_ppd13_20220424_10_28.apk"

adb install <apk文件路径> :这个命令将指定的apk文件安装到设备上

3. 卸载软件

adb uninstall <软件名>
adb uninstall -k <软件名>
#adb uninstall com.finance.oneaset.common

如果加 -k 参数,为卸载软件但是保留配置和缓存文件.

4. 进入设备或模拟器的shell:

通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:

 adb shell [command]
 #adb shell ls

5. 重启adb命令

模拟器在运行一段时间后,adb服务有可能(在Windows进程中可找到这个服务,该服务用来为模拟器或通过USB数据线连接的真机服务)会出现异常。这时需要重新对adb服务关闭和重启。

当然,重启Eclipse可能会解决问题。但那比较麻烦。如果想手工关闭adb服务,可以使用下面的命令。

adb kill-server

在关闭adb服务后,要使用如下的命令启动adb服务。

adb start-server

6. 从电脑上发送文件到设备

adb push <本地路径> <远程路径>
#adb push D:\b.jpg /sdcard/

用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)

7. 从设备上下载文件到电脑

adb pull <远程路径> <本地路径>
#adb pull /sdcard/sc.png  D:\document

用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑

8.获取app的包名和activity名称

#列出连接的机器所有的包名

adb shell pm list packages       

使用-e参数:adb shell pm list packages -e,只输出启用的包。

#查看app启动页Activity

adb shell dumpsys package com.finance.oneaset.common
 

回车之后找到包含“category.LAUNCHER” 字样的Activity即可
可通过 dumpsys 命令查询系统服务的运行状态 (对象的成员变量属性值),命令格式:dumpsys 服务名, 例如:

activityActivityManagerServiceAMS相关信息
packagePackageManagerServicePMS相关信息
windowWindowManagerServiceWMS相关信息
inputInputManagerServiceIMS相关信息
powerPowerManagerServicePMS相关信息
batterystatsBatterystatsService电池统计信息
batteryBatteryService电池信息
alarmAlarmManagerService闹钟信息
dropboxDropboxManagerService调试相关
procstatsProcessStatsService进程统计
cpuinfoCpuBinderCPU
meminfoMemBinder内存
gfxinfoGraphicsBinder帧率
dbinfoDbBinder数据库

9.清除应用数据与缓存

# 清除oneaset的数据和缓存。
adb shell pm clear com.finance.oneaset.common

10.杀死进程

adb shell am force-stop com.finance.oneaset.common

11.输入文本

adb shell input text 123 # 输入hello

12.点击屏幕

adb shell input tap <X> <Y> # x,y为坐标位置

13.滑屏 起始点x坐标 起始点y坐标 结束点x坐标 结束点y坐标。

adb shell input swipe 300 1000 300 500 # 向上滑动

adb shell input swipe 300 100 300 1000 # 向下滑动

adb shell input swipe 1000 500 200 500 # 向左滑动

adb shell input swipe 200 500 1000 500 # 向右滑动

14.模拟按键/输入

adb shell input keyevent <keycode>
keycode	含义
3	HOME4	返回键
5	打开拨号应用
6	挂断电话
24	增加音量
25	降低音量
26	电源键
27	拍照(需要在相机应用里)
64	打开浏览器
82	菜单键
85	播放/暂停
86	停止播放
87	播放下一首
88	播放上一首
122	移动光标到行首或列表顶部
123	移动光标到行末或列表底部
126	恢复播放
127	暂停播放
164	静音
176	打开系统设置
187	切换应用
207	打开联系人
208	打开日历
209	打开音乐
210	打开计算器
220	降低屏幕亮度
221	提高屏幕亮度
223	系统休眠
224	点亮屏幕
231	打开语音助手
276	如果没有 wakelock 则让系统休眠
adb shell input keyevent 26

执行效果相当于按电源键。

15.屏幕截图

截图保存到电脑:

adb exec-out screencap -p > sc.png

如果 adb 版本较老,无法使用 exec-out 命令,这时候建议更新 adb 版本。无法更新的话可以使用以下麻烦点的办法:

先截图保存到设备里:

adb shell screencap -p /sdcard/sc.png   #指定保存文件为 png 格式

然后将 png 文件导出到电脑的当前操作目录:

#adb shell 进入手机shell界面操作,获取文件夹路径
adb pull /sdcard/sc.png

16.Monkey 进行压力测试

Monkey 可以生成伪随机用户事件来模拟单击、触摸、手势等操作,可以对正在开发中的程序进行随机压力测试。

简单用法:

#向 <packagename> 指定的应用程序发送 500 个伪随机事件。
adb shell monkey -p <packagename> -v 500

17.adb方式无线连接设备

17.1无线连接(需要借助 USB 线)

除了可以通过 USB 连接设备与电脑来使用 adb,也可以通过无线连接——虽然连接过程中也有需要使用 USB 的步骤,但是连接成功之后你的设备就可以在一定范围内摆脱 USB 连接线的限制啦!

操作步骤:

将 Android 设备与要运行 adb 的电脑连接到同一个局域网,比如连到同一个 WiFi。

将设备与电脑通过 USB 线连接。

应确保连接成功(可运行 adb devices 看是否能列出该设备)。

让设备在 5555 端口监听 TCP/IP 连接:

adb tcpip 5555

断开 USB 连接。

找到设备的 IP 地址。

一般能在「设置」-「关于手机」-「状态信息」-「IP地址」找到,也可以使用下文里 查看设备信息 - IP 地址 一节里的方法用 adb 命令来查看。

通过 IP 地址连接设备。

adb connect <device-ip-address>

这里的 就是上一步中找到的设备 IP 地址。

确认连接状态。

adb devices

如果能看到

<device-ip-address>:5555 device

说明连接成功。

如果连接不了,请确认 Android 设备与电脑是连接到了同一个 WiFi,然后再次执行 adb connect 那一步;

如果还是不行的话,通过 adb kill-server 重新启动 adb 然后从头再来一次试试。

断开无线连接

命令:

adb disconnect <device-ip-address>
17.2无线连接(无需借助 USB 线)
  • 需要root权限

  • 在 Android 设备上安装一个终端模拟器。

  • 将 Android 设备与要运行 adb 的电脑连接到同一个局域网,比如连到同一个 WiFi。

  • 打开 Android 设备上的终端模拟器,在里面依次运行命令:

su
setprop service.adb.tcp.port 5555
  • 找到 Android 设备的 IP 地址。
    一般能在「设置」-「关于手机」-「状态信息」-「IP地址」找到,也可以使用下文里 查看设备信息 - IP 地址 一节里的方法用 adb 命令来查看。

  • 在电脑上通过 adb 和 IP 地址连接 Android 设备。

adb connect <device-ip-address>

这里的 device-ip-address 就是上一步中找到的设备 IP 地址。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值