精华内容
下载资源
问答
  • adb串口调试工具

    2015-05-22 20:51:24
    用于Android系统的串口调试工具和adb工具以及使用文档说明
  • 怎么样让串口数据从安卓的adb上输出,adb能不能模拟串口的输出数据。
  • 串口调试命令 debugadb 命令(去掉adb shell即为串口命令)发送广播 adb shell am broadcast -a com.android.test打开activity adb shell am start -n ...

    串口调试命令 debug

    adb 命令(去掉adb shell即为串口命令)

    发送广播 adb shell am broadcast -a com.android.test

    打开activity adb shell am start -n com.google.android.tungsten.setupwraith/.MainActivity

    adb start-server:启动adb进程

    adb connect ip地址 :通过Ip连接设备(在局域网中即可。可以不用adb线)

    adb kill-server:杀死adb进程

    adb install E:\yyh.apk

    adb uninstall 应用包名

    adb shell pm path com.org.emanual(输出包名以及路径)然后再路径

    adb devices:列出与开发环境建立连接的android设备的列表

    adb shell:进入Android命令行

    adb shell sqlite3 data/data/com.android.providers.settings/databases/settings.db “select * from secure”(查看secure数据表)

    Android的指令:

    ls:罗列出当前目录下的所有文件和文件夹

    ps -A:罗列出当前系统运行的所有进程

    netstat -ano:查看系统的端口占用情况

    截图

    adb shell /system/bin/screencap -p /sdcard/screenshot.png(保存到SDCard)

    adb pull /sdcard/screenshot.png d:/screenshot.png(保存到电脑)

    录屏

    adb shell screenrecord --time-limit 10 /sdcard/demo.mp4

    adb pull /sdcard/demo.mp4 F:\mvp\demo.mp4

    批量安装apk命令,apk文件得拷贝到adb根目录。

    for %i in (*.apk) do adb install %i

    连接adb调试

    有时候要使用连接线去连接android 设置去调试,如果没有连接线的话,可以将android 设备和

    pc置于同一个局域网中,然后通过 **adb connect android设备ip地址** 去连接调试

    串口命令

    logcat

    - "-s"选项 : 设置输出日志的标签, 只显示该标签的日志;

    --"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;

    --"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;

    --"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;

    --"-v"选项 : 设置日志的输出格式, 注意只能设置一项;

    --"-c"选项 : 清空所有的日志缓存信息;

    --"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;

    --"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;

    --"-g"选项 : 查看日志缓冲区信息;

    --"-b"选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;

    --"-B"选项 : 以二进制形式输出日志;

    logcat --help z

    logcat -c(清除还没吐出来的缓存log)

    logcat (开始抓log)

    logcat -s “过滤条件” (只输出特定的log)

    logcat -v time(log中带时间戳)

    logcat -f 路径(将logcat保存在一个路径下)

    logcat | grep -i wifi(使用管道来进行过滤,查询wifi并忽略大小写)

    dumpsys

    输出系统在一段时间里的状况,包括activity,广播等之类,比较多

    因为dumpsys刷出来的东西太多,故可以和grep结合使用

    dumpsys activity 查看Activity信息

    dumpsys package 查看包的信息

    dumpsys activity activities 查看Activity栈

    dumpsys audio 查看audio信息

    dumpsys |grep BroadcastRecord 查看广播记录

    dumpsys input 查看设备对应的kl文件信息

    dumpsys wifi 查看wifi信息

    dumpsys activity top 查看顶层应用情况,具体哪一个在最上面

    一些常用的串口命令

    input text 账号密码(快速 输入账号密码)

    getevent (看按键键值)

    getprop 系统属性(得到系统属性的值)

    input keyevent 键值(模拟按键)

    getenforce(查看selinux的权限)

    dumpsys window|grep mFocusedWindow(查看当前界面属于那一个应用)

    setenforce 0(将selinux的权限去掉)

    setprop 系统属性 系统属性值(设置系统属性)

    settings

    ** 系统中很多的属性都是在Setting这个应用设置的,例wifi,蓝牙,声音,亮度等,这些数据主要是存储在数据库中,对应的URI为:content://settings/system和content://settings/secure.对应的数据库为: /data/data/com.android.providers.settings/databases/settings.db里,里面有三个表global, system, secure.

    可以通常这样查看数据

    adb shell sqlite3 data/data/com.android.providers.settings/databases/settings.db "select * from secure"

    但是自从android 6.0以后这几个表都变为了xml文件。具体位置如下:

    不同用户放不同的路径下,如果没有创建新用户,则在/data/system/users/0下

    settings_global.xml, settings_system.xml, settings_secure.xml

    用代码设置或者得到系统属性的值 Settings.Secure.getInt(getContentResolver() , Settings.Secure.WIFI_ON);

    Settings.System.putInt(mContext.getContentResolver(), key, value);

    用串口:(system,secure类似) settings get global 系统属性key

    settings put global 系统属性key 系统属性值

    pm

    pm install -r (安装应用)

    pm create-user 10(创建用户)

    pm list users(列出所有用户)

    pm remove-user 10(在主用户模式下删除10这个用户)

    pm path com.org.emanual(输出包名以及路径)然后再路径

    am

    am switch-user 10(切换到10这个用户)

    wm

    wm size (读取屏幕分辨率)

    wm density(读取屏幕dpi)

    wm size 1920x1080(将屏幕分辨率设置为1920x1080)

    wm density 300 (将dpi设置为300)

    -wm size reset (恢复默认值)

    今天突然发现一篇将adb 命令整理的很全的文章,这里分享出来,真是大神啊,这篇文章真的很经典很经典,文章中提到的用法工作中基本都能用到。

    ADB 用法大全

    展开全文
  • Android adb 串口设备调试方法

    千次阅读 2020-12-22 03:24:12
    因此下面就windows环境下android设备使用adb调试外挂串口设备调试的要求和步骤记录如下:windows机器安装adb查看系统usb 串口设备是否正常挂载在cmd 菜单输入adb shell ,然后输入如下指令查看ttyUSB设备是够挂载。...

    在目前android设备调试过程中,经常有客户需要用外挂串口设备,但是在后期联调时,由于环境因素,自己调试时不知道如何进行。因此下面就windows环境下android设备使用adb调试外挂串口设备调试的要求和步骤记录如下:

    windows机器安装adb

    查看系统usb 串口设备是否正常挂载

    在cmd 菜单输入adb shell ,然后输入如下指令查看ttyUSB设备是够挂载。

    ls -al /dev/ttyUSB*

    若能正常显示你需要打开的串口,则证明设备已挂载正常。

    usb串口输出

    打开一个adb窗口,输入如下指令,等待输入

    cat /dev/ttyS0

    usb串口输入

    重新打开一个窗口若系统的busybox带有microcom ,可以按照如下方式打开,进行串口通信:

    busybox microcom -t 15000 -s 115200 /dev/ttyS0

    若系统未集成micocom,按照如下方式进行:

    echo -e "AT\r\n" /dev/ttyS0

    注:以下操作都在进入adb shell 后进行。

    特殊说明:

    输入和输出都在进入adb shell串口界面后进行,且需要打开2个adb shell的窗口。

    可在前期调试将串口的RX,TX脚短路,形成回路,可发现收发数据一致,表示串口工作正常。

    usb转串口需要系统支持,需要打开系统的usb转串口功能,不然不能在dev目录找到对应的设备。

    展开全文
  • recovery模式下支持ADB连接串口操作

    千次阅读 2020-11-21 11:13:44
    前言Android平台下我们有时候会进入recovery下做一些操作,不管是通过ADB连接还是通过串口操作,都需要你的平台支持,不支持的话可以按照我们这篇文章进行修改。正文ADB连接进入...

    前言

    Android平台下我们有时候会进入recovery下做一些操作,不管是通过ADB连接还是通过串口操作,都需要你的平台支持,不支持的话可以按照我们这篇文章进行修改。

    正文

    ADB连接

    进入recovery后,我通过ADB连接会有如下报错

    exec "/system/bin/sh": No such file or directory
    1
    

    根据提示,应该是需要把sh打包到recovery.img里面,不过这里要注意的是,recovery下执行的bin文件需要静态编译才行,所以我们需要修改sh编译的Android.bp文件:

    diff --git a/external/mksh/Android.bp b/external/mksh/Android.bp
    index 2bca561e9d..5fb3c67ad7 100644
    --- a/external/mksh/Android.bp
    +++ b/external/mksh/Android.bp
    @@ -120,6 +120,7 @@ cc_defaults {
    
     cc_binary {
         name: "sh",
    +    static_executable: true,
         defaults: ["sh-defaults"],
     }
    1234567891011
    

    然后将编译出来的sh文件打包到recovery.img里面:

    diff --git a/build/make/core/Makefile b/build/make/core/Makefile
    index c58eb39839..027a32aee8 100644
    --- a/build/make/core/Makefile
    +++ b/build/make/core/Makefile
    @@ -1398,6 +1398,8 @@ define build-recoveryimage-target
         cp -rf $(item) $(TARGET_RECOVERY_ROOT_OUT)/$(newline))
       $(hide) $(foreach item,$(recovery_fstab), \
         cp -f $(item) $(TARGET_RECOVERY_ROOT_OUT)/etc/recovery.fstab)
    +  $(hide) mkdir -p $(TARGET_RECOVERY_ROOT_OUT)/system/bin
    +  $(hide) cp -r $(PRODUCT_OUT)/system/bin/sh $(TARGET_RECOVERY_ROOT_OUT)/system/bin
       $(if $(strip $(recovery_wipe)), \
         $(hide) cp -f $(recovery_wipe) $(TARGET_RECOVERY_ROOT_OUT)/etc/recovery.wipe)
       $(hide) cp $(RECOVERY_INSTALL_OTA_KEYS) $(TARGET_RECOVERY_ROOT_OUT)/res/keys
    @@ -1411,9 +1413,7 @@ define build-recoveryimage-target
       $(hide) ln -sf prop.default $(TARGET_RECOVERY_ROOT_OUT)/default.prop
       $(BOARD_RECOVERY_IMAGE_PREPARE)
       $(if $(filter true,$(BOARD_BUILD_SYSTEM_ROOT_IMAGE)), \
    -    $(hide) mkdir -p $(TARGET_RECOVERY_ROOT_OUT)/system_root; \
    -            rm -rf $(TARGET_RECOVERY_ROOT_OUT)/system; \
    -            ln -sf /system_root/system $(TARGET_RECOVERY_ROOT_OUT)/system) # Mount the system_root_image to /system_root and symlink /system.
    +    $(hide) mkdir -p $(TARGET_RECOVERY_ROOT_OUT)/system_root;)
       $(hide) $(MKBOOTFS) -d $(TARGET_OUT) $(TARGET_RECOVERY_ROOT_OUT) | $(MINIGZIP) > $(recovery_ramdisk)
       $(if $(filter true,$(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SUPPORTS_VBOOT)), \
         $(hide) $(MKBOOTIMG) $(INTERNAL_RECOVERYIMAGE_ARGS) $(INTERNAL_MKBOOTIMG_VERSION_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $(1).unsigned, \
    123456789101112131415161718192021222324
    

    以上操作后,就能正常ADB连接设备了。

    串口操作

    想要串口也能操作,也同样需要上面的步骤,除此之外还需要额外的修改,在进入recovery后需要拉起console服务:

    diff --git a/device/emdoor/em_t6230_p4mme/init.recovery.mt8167.rc b/device/emdoor/em_t6230_p4mme/init.recovery.mt8167.rc
    old mode 100644
    new mode 100755
    index f8ff23c8de..bb0087a70b
    --- a/device/emdoor/em_t6230_p4mme/init.recovery.mt8167.rc
    +++ b/device/emdoor/em_t6230_p4mme/init.recovery.mt8167.rc
    @@ -14,12 +14,29 @@ on init
         mkdir /config/usb_gadget/g1/configs/b.1 0777 shell shell
         mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell
         mkdir /config/usb_gadget/g1/functions/ffs.adb
    +
    +on post-fs
    +    # start console service earlier here
    +    start console
    +
    +on property:ro.debuggable=1
    +    start console
    +
    +service console /system/bin/sh
    +    class core
    +    console
    +    disabled
    +    user root
    +    group shell log readproc
    +    seclabel u:r:shell:s0
    +    setenv HOSTNAME console
    
     on property:ro.debuggable=0
            # distinguish USB shoulde connect or not, i.e. CDP vs SDP
         write /sys/class/udc/musb-hdrc/device/cmode 2
         # set charging free due to it wait for USB activation
         start adbd
    +    start console
    
     on property:sys.usb.ffs.ready=1
         write /config/usb_gadget/g1/UDC "none"
    123456789101112131415161718192021222324252627282930313233343536
    

    其它

    虽然现在我们能ADB连接和串口操作了,但是常用的ls等命令却使用不了,因为recovery下system分区没有挂载,toybox和busybox等工具都没有,自然无法使用shell命令。这次我把toybox工具移植到recovery中,你也可以移植busybox和toolbox。

    我们看external/toybox/Android.mk有专门编译给recovery使用的选项:

    ############################################
    # static version to be installed in recovery
    ############################################
    
    include $(CLEAR_VARS)
    LOCAL_MODULE := toybox_static
    LOCAL_SRC_FILES := $(common_SRC_FILES)
    LOCAL_CFLAGS := $(common_CFLAGS)
    LOCAL_STATIC_LIBRARIES := $(toybox_libraries)
    # libc++_static is needed by static liblog
    LOCAL_CXX_STL := libc++_static
    LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
    LOCAL_FORCE_STATIC_EXECUTABLE := true
    LOCAL_POST_INSTALL_CMD := $(hide) $(foreach t,$(ALL_TOOLS),ln -sf ${LOCAL_MODULE} $(LOCAL_MODULE_PATH)/$(t);)
    include $(BUILD_EXECUTABLE)
    123456789101112131415
    

    只要把编译的模块名toybox_static加入到下面的文件就可以了:

    diff --git a/system/core/shell_and_utilities/Android.bp b/system/core/shell_and_utilities/Android.bp
    index 2e42b70993..ec53e59de6 100644
    --- a/system/core/shell_and_utilities/Android.bp
    +++ b/system/core/shell_and_utilities/Android.bp
    @@ -17,5 +17,6 @@ phony {
             "toolbox_vendor",
             "toybox",
             "toybox_vendor",
    +        "toybox_static",
         ],
     }
    1234567891011
    

    结语

    上面说了一大堆,其实最简单的方法只要在recovery启动的rc脚本中把system分区挂载一下就好了(逃~)。

    推荐阅读:

        专辑|Linux文章汇总

        专辑|程序人生

        专辑|C语言

    嵌入式Linux

    微信扫描二维码,关注我的公众号 

    展开全文
  • android adb实现pC与终端通信

    热门讨论 2012-07-09 13:54:17
    使用adb实现PC机与终端的通信。PC端采用java编写,采用端口映射、socket编程建立通信连接
  • 使用adb调试串口

    千次阅读 2017-09-14 15:03:30
    最近在rk3128上调试一颗I2C转UART芯片:SC16IS752,由于手上只有一块开发板,hdmi输出又搞坏了,无法连接屏幕,怎么验证调试效果呢,无奈之下用adb试试吧,果然有办法。 准备工具:busybox,下载地址:...

    最近在rk3128上调试一颗I2C转UART芯片:SC16IS752,由于手上只有一块开发板,hdmi输出又搞坏了,无法连接屏幕,怎么验证调试效果呢,无奈之下用adb试试吧,果然有办法。

    准备工具:busybox,下载地址:https://busybox.net/downloads/binaries/  按照自己的平台下载,我是很久之前随便下了一个,挺好用。

    然后:

    adb root

    adb remount

    adb push busybox /system/bin

    adb shell

    busybox microcom -t60000 -s 115200 /dev/ttySC0

    -t 单位毫秒,无操作自动退出时间

    -s 波特率

    ttySC0就是SC16IS752生成的串口。

    验证果然是可以的。


    参考资料:http://blog.csdn.net/caz28/article/details/8529348

    展开全文
  • 在开发的过程中只提供了一个USB接口,但是USB... 串口输入 setprop service.adb.tcp.port 5555 && stop adbd && start adbd && netcfg 然后adb connect ip set...
  • 串口法:使用串口连接车机,然后将串口连接至电脑,通过“SecureCRTPortable”应用,可连接设备;    二、操作设备的ADB命令:  1.adb devices //查看是否有设备 ** 此命令适用于第1、2中连接方式,不适用于...
  • adb shell 调试 Android 串口

    千次阅读 2016-06-13 15:11:49
    Android手机上很多外设是串口连接到AP的,如modem,gps。为了调试这些串口,通常需要将它们飞线接出来,用pc的串口连接调试。这样比较麻烦。 在adb shell里是可以直接调试串口的,就不用飞线了,还可以验证Android...
  • adb devices命令查看模拟器连接状态,如果未连接,进行以下步骤: ①使用快捷键win + R打开运行窗口,输入cmd,点击确定按钮,打开命令行 ②输入adb version命令,查看adb版本 ③输入nox_adb version 命令,查看...
  • 使用串口线开启机顶盒ADB权限

    千次阅读 2020-09-19 11:52:39
    通过焊接针脚,使用USB串口转接工具连接机顶盒开启ADB权限等。
  • 涵盖了adb,基于usb的socket通信,pc与android设备的通信. 想研究adb传输中文,adb连接多台手机等同学可以研究甚至修改.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 今天遇到了一个很奇怪的问题,通过adb和ssh获取的中断调试程序都没有问题,通过串口调试有问题,例如我要获取1000组数据,adb和ssh都刚好是1000组,串口一般也就600多个数据,造成这个结果原因可能是串口传输速率...
  • Adb连接android设备的2种方法!!!!

    千次阅读 2020-09-11 12:31:46
    CMD窗口输入adb devices就可以看到连接的设备了 第二种:Wifi连接 安卓机和电脑都在同一局域网内 CMD窗口输入adb connect 安卓机ip地址 如果提示:unable to connect to 安卓机ip地址:5555 解决方法: 3.1.使用usb...
  • adb 连接方式汇总

    万次阅读 2019-07-31 14:10:26
    经常遇到各种盒子连接方式问题,因此汇总下adb的打开方式,以供下次查阅。 电信 adb连接方式汇总 省份 厂家 机顶盒型号 adb连接方式 广东电信 华为 Q21 使用华为stbId工具,在机顶盒的允许远程连接中关闭后再打开...
  • adb调试工具包(adb调试程序)

    千次阅读 2021-01-14 17:25:56
    adb 全称 Android Debug Bridge(调试桥)。adb是C/S模式的程序,它包含三个组件:client,server,deamon。adb调试程序使用教程在电脑上安装adbtools。然后点击电脑的开始,运行里输入cmd,进入电脑的命令行进行验证...
  • MX4手机连接adb方法

    2018-04-20 09:56:07
     二、通过同一局域网连接(参考通过wifi进行adb调试 点击打开链接 文档) 只有能ping的通就可以通过adb连接,无线有线网络都可以1、首先需要去设置-辅助功能-开发者选项里面去打开USB调试选项; 打开后此时魅.....
  • android下连接串口

    2021-06-02 18:17:03
    1.模拟器可以使用PC的串口启动模拟器并加载PC串口 命令如下:运行 emulator @模拟器名称 -qemu -serial COM12.查看串口是否被加载启动后使用 adb shell 命令打开命令行cd dev 查看会发现ttyS0 ttyS1 ttyS2,其他ttyS2...
  • 串口开发工具,adb,以及安装需要的驱动程序,方便android开发
  • C#开发的通过ADB控制连接的手机,模拟点击按钮,输入数字和英文内容,初学ADB开发使用的极具参考价值,附有相关资料文档一份、CS2010下通过
  • 1、执行命令: sudo vi /etc/...7、终于到最后一步了, 执行命令: adb kill-server 、adb devices 就一切ok了,上图: usb权限 : 51-android.rules 这个文件名可以任意 adb权限 : adb_usb.ini 这个文件名是固定的
  • 2、adb文配置相关文件位于:D:\Program Files\MuMu\emulator\nemu\vms\myandrovm_vbox86下,如下图所示: 3、打开myandrovm_vbox86.nemu文件,找到下图所示配置: 定位到配置:<Forwarding name="ADB_PORT" ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,973
精华内容 789
关键字:

串口连接adb