zoukankan      html  css  js  c++  java
  • android linux 命令

    ADB(Android Debug Bridge)是Android提供的一个通用的调试工具,借助这个工具,我们可以管理设备或手机模拟器的状态。 
    A.用adb局域网功能连接设备 
         1,先用usb连接运行adb命令,将连接方式改为tcpip 
              adb tcpip {port}     port为端口号 
         2,拔掉usb线,运行adb命令连接设备 
              adb connect xxx.xxx.xxx.xxx(设备ip):port(刚才设置的端口号) 
         3,正常运行adb命令 
      adb的工作方式比较特殊采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。 ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备. 
    B.adb shell的一些常见命令 
      1.adb shell 
            a.通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux 的命令,如果只想执行一条命令,可以输入adb shell cmd 
               eg: adb shell dmesg会打印出内核的调试信息 
    adb shell logcat v会打印出log信息 
         b.adb shell ls列出设备的目录列表 
        eg: adb连接设备操作 
        adb shell 
        adb -s xxxx shell 
      2.上传文件: adb push 
        下载文件: adb pull 
         /tmp/...指的是在设备linux环境中要操作文件的路径 
           eg: adb push key data/app 就是将key文件上传到用户目录中 
      a.将文件放入设备 
             eg: adb push xxx.* /directory 
         adb -s xxxx(设备编号) xxx.* /directory 
         b.将文件拉出设备 
            eg: adb pull xxx.* /directory   
                    adb -s xxxx(设备编号) xxx.* /directory 
      3.安装程序: adb install <*.apk> 
        卸载软件: adb unistall apk(注意卸载的时候和安装的时候的文件名是不一样的,例如安装的时候adb shell GPSStatus2b2.apk,这个apk文件就被安装在data/app目录下,但是使用uninstall的时候,首先要到、data/app目录下查看安装的apk文件在linux目录下的文件名,发现是com.eclipsim.gpsstatus.apk,使用adb uninstall com.eclipsim.gpsstatus.注意不要加apk后缀。返回success结果证明文件卸载成功)。 
      a.用adb安装apk 
                eg: adb install xxx.apk 
                    adb install -s xxxx(设备编号) xxx.apk     多个设备 
              b.用adb卸载apk 
             eg: adb uinstall xxx.apk(通常要写明详细的包名和activity名) 
         adb uinstall -s xxxx(设备编号) xxx.apk     多个设备 
      补充一点,通过adb安装的软件(*.apk)都在"/data/app/"目录下,所以安装时不必制定路径。 
      卸载的时候当然也可以直接到目录下使用rm命令也可。 
              如果有多个设备在运行的话,发送命令时必须用上-s,-e或-d这几个参数指定目标设备。 
                    adb -e  发送命令到模拟器。 
                    adb -d  发送命令到到USB设备,比如手机。 
                    adb -s  指定一个目标。adb -s <serialNumber> <command>install <path-to-apk> 
              例如:adb -s emulator-5554 install helloWorld.apk 
      4.显示android模拟器状态: 
       adb devices 列出所有连接的设备 
              例如: 
                    ~$ sudo /opt/android/android-sdk/tools/adb devices 
                    List of devices       attached 
                    emulator-5554      device 
                    HT95LKF00945    device 
                    这里就列出了两个设备,第一个是模拟器,第二个是手机。 
              注意:这里是用root用户来启动adb服务器和执行adb命令,不然就会 出现“no permissions” 
       adb get-serialno 打印设备序列号 
      adb version 列出ADB的版本号 
       adb get-state 打印出的结果一般是offline | bootloader | device 
                    adb help  查看adb所支持的所有命令 
                    adb version    查看adb的版本序列号 
                    adb logcat  打印日志到屏幕 
                    adb bugreport 打印dumpsys,dumpstate和logcat数据到屏幕 
                    adb jdwp       查看指定的设施的可用的JDWP信息. 
                    adb forward    forward <local> <remote> 
                    adb get-serialno 查看adb实例的序列号. 
                    adb get-state 查看模拟器/设施的当前状态. 
                    adb ppp 通过use设备运行PPP 
                    adb wait-for-device  如果设备不联机就不让执行。 
      5.等待正在运行的设备: adb wait-for-device 
      6.adb start-server 
       adb kill-server 一般在键入adb shell命令后显示device offline或者是显示有多个设备的情况下使用 
      7.adb remount 重新挂载系统分区,就是将系统分区重新挂载为可写。 
      8. adb root使用管理员权限 
      9. adb bugreport打印除所有的bug信息 
      10.adb shell logcat -b radio 记录无线通讯日志:一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录: 
      11.adb emu 
      12.端口转发: adb forward adb forward tcp:5555 tcp:1234 
      (将默认端口TCP 5555转发到1234端口上) 
    13、发布端口: 

    你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如: 

    adb forward tcp:5555 tcp:8000 



    14、复制文件: 

    你可向一个设备或从一个设备中复制文件, 

    复制一个文件或目录到设备或模拟器上: 

    adb push <source> <destination></destination></source> 

    如:adb push test.txt /tmp/test.txt 

    从设备或模拟器上复制一个文件或目录: 

    adb pull <source> <destination></destination></source> 

    如:adb pull /addroid/lib/libwebcore.so . 



    15、搜索模拟器/设备的实例: 

    取得当前运行的模拟器/设备的实例的列表及每个实例的状态: 

    adb devices 



    16、查看bug报告: 

    adb bugreport 



    17、记录无线通讯日志: 

    一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录: 

    adb shell 

    logcat -b radio 



    18、获取设备的ID和序列号: 

    adb get-product 

    adb get-serialno 



    19、访问数据库SQLite3 

    adb shell 

    sqlite3 



    =============================== 

    进入adb shell后, 
    运行“am -help”,可以查看“am”命令的帮助信息,试试运行“am start -n com.google.android.browser/com.google.android.browser.BrowserActivity”看看?呵呵,在模拟器里面可以看到运行了浏览器,哈哈,就是这么简单(简单个P,为了找这个东西花了我好久的时间)。 
    还有: 
    //运行浏览器,打开中华网 
    # am start -a android.intent.action.VIEW -d http://www.china.com 
    am start -a android.intent.action.VIEW -d http://www.china.com 
    Starting: Intent { action=android.intent.action.VIEW data=http://www.china.com } 

    //拨打电话,号码是123456789 
    # am start -a android.intent.action.CALL -d tel:123456789 
    am start -a android.intent.action.CALL -d tel:123456789 
    Starting: Intent { action=android.intent.action.CALL data=tel:123456789 } 


    # am start -a android.intent.action.ALL_APPS 
    am start -a android.intent.action.ALL_APPS 
    Starting: Intent { action=android.intent.action.ALL_APPS } 

    //google地图,到shanghai这个点包(注:点包为方言,就是地方的意思) 
    # am start -a android.intent.action.VIEW geo:0,0?q=shanghai 
    am start -a android.intent.action.VIEW geo:0,0?q=shanghai 
    Starting: Intent { action=android.intent.action.VIEW data=geo:0,0?q=shanghai }

  • 相关阅读:
    vagrant 命令+配置+入门案例
    博客园皮肤 Cnblogs-Theme-SimpleMemory
    Vue:前后端交互、路由
    Vue :模块化
    Vue:组件开发
    Vue :模板语法
    ssm实战(11)-----用户功能开发
    ssm实战(10)-----通用功能开发(Windows环境下配置)
    ssm实战(9)-----前端开发(Windows环境下配置)
    spring boot实战——微信点餐系统03:微信授权(用户授权),免费内网穿透(固定ip)
  • 原文地址:https://www.cnblogs.com/bluespot/p/3102052.html
Copyright © 2011-2022 走看看