美文网首页
adb命令学习

adb命令学习

作者: 零下的雨 | 来源:发表于2018-12-20 18:03 被阅读0次

    问题一:adb server is out of date. killing...


    image.png

    是因为端口号被占用了,需要杀掉占端口的进程再使用adb命令

    解决方法:
    https://blog.csdn.net/liranke/article/details/42524851
    netstat -ano | findstr "5037" 查看进程,查看第一个不是0的进程编号
    tasklist | findstr 进程编号 根据编号去查进程名称,去任务管理器中杀掉进程
    或者查到后直接输入命令: taskkill -F -PID 进程编号

    使用步骤:
    下载adb的包,把adb.exe的路径配置在Path用户变量中,在cmd中就可以直接使用adb的命令。


    image.png

    用usb连接设备,在cmd中输入adb devices查看连接的设备:


    image.png

    向设备中安装apk的包:
    adb install <apk文件所在的本地路径>


    image.png

    卸载apk的包:
    不能直接使用apk包名,需要先查出来包在Android中的名称


    image.png
    image.png
    image.png

    adb shell 先进入shell命令中
    如果有多个设备号,想进入某个设备中,需要用adb -s <设备号> shell进入
    pm list packages 查看所有安装的包名
    adb uninstall <包名>
    exit 退出shell命令

    向设备中传送文件:
    adb push <本地文件路径> <设备文件夹路径>

    从设备中拉取文件:
    adb pull <设备文件夹路径> <本地文件路径>

    检查错误:
    adb nodaemon server
    运行该命令一般会告诉我们是什么错误,很有用的一个命令,根据错误类型针对解决。

    ADB devices 连接genymotion 出错cannot bind 'tcp:5037': Address already in use:
    打开genymotion,在cmd中使用adb命令查看设备时,提示失败:
    C:\WINDOWS\system32>adb devices
    adb server is out of date. killing...
    ADB server didn't ACK

    • failed to start daemon *
      error:

    是因为之前在电脑上安装过adb,之后学习appium时又安装了adt的sdk自带的有adb,在genymotion中的adb和现在系统调用的adb不是同一个,两个共用同一个端口,所以会有问题。
    先在cmd中输入which adb,查看当前adb的路径:


    image.png

    打开genymotion,进入设置,进入adb,选择Use custom Android SDK tools,选择adt的sdk中自带的adb.exe路径,路径通过which adb命令能查看到,选择时看不到adb.exe,只选择到目录就行:


    image.png
    image.png

    设置后要重启genymotion,再到cmd中输入adb device就能看到连接到模拟器了。


    image.png

    如果有多个设备,可以用 adb -s [设备号] [其他命令] 来区分不同的设备。

    kill-server 命令,杀死所有adb进程
    通常当我们在执行adb时碰到error或者设备状态不对,可以尝试重启adb服务,也就是使用这两命令,就犹如网管的重启电脑大杀器一样

    adb deviecs时显示的emulator-5554如何删除?

    安装时候碰到的一个问题:已经签名的包,重新通过adb install 会提示安装错误。提示:Failure [INSTALL_FAILED_ALREADY_EXISTS]

    为啥eclipse自己就可以不停滴覆盖重装呢?

    因为eclipse自动打包是debug的签名,而我打如果是release签名就会出现上面的报错。解决办法:adb install -r

    adb install -r 这里的r是reinstall 的缩写。顺便学习一下adb install的相关参数。

    adb install -r (reinstall) 重装

    adb install -s (sdcard) 装在SD卡上而不是internal storage

    adb uninstall -k (keep) 保留用户数据。

    报错Failure [INSTALL_FAILED_VERSION_DOWNGRADE]
    若是报错Failure [INSTALL_FAILED_VERSION_DOWNGRADE],则可能是之前删除安装包的时候未删除彻底,这时候用一下命令:adb install -r -d 要传的apk地址.

    报错[INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
    adb remount
    adb root
    adb shell
    cd system/app
    rm -rf apk名称
    exit
    adb reboot 重启
    adb install -r -d 包的路径

    抓取安卓日志:
    E:\Logs>adb logcat -v time > log.txt
    到E:\Logs\log.txt日志中查看日志。

    adb安装apk报错Failure [INSTALL_FAILED_TEST_ONLY]
    adb install -t 包名地址

    adb shell pm list packages -f |grep xxx

    报错[INSTALL_FAILED_UPDATE_INCOMPATIBLE]
    是因为有旧版本存在,需要先adb shell进入,cd system/app或者cd data/app目录下删除apk包,然后退出到cmd命令,输入adb uninstall 包名 再重新安装就不会报错了。
    包名需要输入pm list package查找对应包的包名。
    adb shell pm clear 包名 清空下数据,然后重启车机就行了,之前没有卸载debug版本引起的

    报错Failure [INSTALL_FAILED_INVALID_URI]
    通过AndroidStudio安装,选择安装的目录右键upload选择本地的apk安装能成功。

    通过无线ip地址连接设备:
    1.手机打开开发者模式,然后打开USB调试
    2.使用USB数据线连接手机和电脑
    3.在PC端打开cmd命令窗口,输入adb devices ,可以看到已经连接的设备
    4.输入adb tcpip 8888 (设置端口号为8888)
    5.断开手机和电脑的连接
    6.输入adb connect 10.67.161.8:8888,连接成功
    7.断开连接adb disconnect 10.67.161.8:8888
    8.下次再连直接adb connect 10.67.161.8:8888就可以,如果不行就再输入一次adb tcpip 8888

    提示设备offline
    adb kill-server
    adb start-server

    adb命令学习地址:
    摘抄:https://blog.csdn.net/MzTestor/article/details/79310900

    相关文章

      网友评论

          本文标题:adb命令学习

          本文链接:https://www.haomeiwen.com/subject/iohukqtx.html