zoukankan      html  css  js  c++  java
  • adb命令

    adb是什么:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。
     
    adb有什么用:借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作
     
     
    1. 查看设备 :adb devices
    这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
     
    2.安装软件 :adb install / adb -s 设备名 install/adb install  -r 
    adb install <apk文件路径> :这个命令将指定的apk文件安装到设备上
    adb -s 设备名 install <apk文件路径>: 将指定的apk文件安装到指定的设备上的SD卡上
    adb install -r <apk文件路径> :覆盖安装,并保持已有数据不变
     
    adb push 能够指定安装目录。比如执行"adb push xxx.apk system/app" 后,xxx.apk被安装到了system/app目录下。
     
    3. 卸载软件 :
    adb uninstall <软件包名>
    adb uninstall -k <软件包名>
    如果加 -k 参数,为卸载软件但是保留配置和缓存文件.
     
    4. 进入设备或模拟器的shell: adb shell 
    Shell俗称壳(用来区别于核),是命令解析器。在这个Linux Shell中,你可以执行各种Linux的命令。
    通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:
    adb shell [command]
    如:adb shell dmesg会打印出内核的调试信息。
     
    5. 发布端口 :可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如: 
    adb forward tcp:5555 tcp:8000
     
    6. 从电脑上发送文件到设备 :
    adb push <本地路径> <远程路径>
    用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
     
    7. 从设备上下载文件到电脑 :
    adb pull <远程路径> <本地路径>
    用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑
     
    8、查看bug报告:
    adb bugreport
     
    9、记录无线通讯日志 :一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录: 
    adb shell 
    logcat -b radio 
     
    10、获取设备的ID和序列号 :
    adb get-product
    adb get-serialno
    adb shell
    sqlite3
     
    11、显示系统中全部Android平台
    adb android list targets
     
    12、对某一设备执行命令
    adb -s 设备编号 命令
     
    13、连接/断开某设备
    adb connect ip:port   //连接设备
    adb disconnect ip:port  // 断开设备
     
    14、查看adb命令帮助信息:
    adb help
     
    15、删除系统应用
    adb remount (重新挂载系统分区,使系统分区重新可写)。
    adb shell
    cd system/app
    rm 123.apk
     
    16、删除android系统中指定文件或文件夹
    adb remount    
    adb shell
    #su
    #cd system/sd/data //进入系统内指定文件夹
    #ls //列表显示当前文件夹内容
    #rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件
    #rm xxx //删除文件xxx
    #rmdir xxx //删除xxx的文件夹
    #exit 退出shell
     
    17、删除系统应用
    adb remount (重新挂载系统分区,使系统分区重新可写)。
    adb shell
    cd system/app
    rm *.apk
     
    18、获取设备的ID和序列号
    adb get-product
    adb get-serialno
     
    19、重启设备
    adb reboot
     
    20、截屏
    adb shell screencap /mnt/sdcard/aa/001.png   //抓屏命令
    adb pull /mnt/sdcard/aa/001.png e:aa01.png   //pull到本地e盘
     
    21、获取logcat日志
    adb logcat -d -f /sdcard/log.txt    //将logcat日志保存到sdcard
    adb pull sdcard/log.txt  D:/      //将sdcard上日志保存到本地
     
    22、保存所有日志到本地
    adb logcat -v time >D:log.txt // 将日志保存到本地D盘中
     
    23、新建文件夹
    adb shell
    #cd /mnt/sdcard  //cd到需要新建文件夹的目录
    #mkdir aa  //用mkdir命令新建文件夹aa
     
    24、查看日志
    adb logcat -v time
     
    25、保存日志到本地
    adb logcat -v time >e:aalog.txt
     
    26、清屏
    cls
     
    27、查看APP包名(已安装到手机上无apk包)
    输入命令:adb shell am monitor
    启动需要获取包名的应用
     
    28、查看app启动页activity
    输入命令:adb shell dumpsys package 包名
    回车之后找到包含“category.LAUNCHER” 字样的Activity即可

     

    29、查看包名和activity(有apk包时)

    使用aapt //aapt是sdk自带的一个工具,在sdkuilds-tools目录下 
    aapt dump badging apk包路径
    1.以ES文件浏览器为例,命令行中切换到aapt.exe目录执行:aapt dump badging E:apkes3.apk
    2.运行后的结果中以下两行分别是应用包名package和入口activity名称
    package: name=’com.estrongs.android.pop’
    launchable-activity: name=’com.estrongs.android.pop.view.FileExplorerActivity’
    注:在android sdk目录搜索可以找到aapt.exe,如果没有可以下载apktool。

     
     

  • 相关阅读:
    构建自己的yara数据库
    Java反序列化漏洞研究
    我喜欢的资源
    jvm-垃圾收集
    jvm-内存
    java设计模式--行为模式
    java设计模式--结构型模式
    java设计模式--简介
    netty之 -- 手写rpc框架
    netty之---核心源码剖析
  • 原文地址:https://www.cnblogs.com/testerhappy/p/15168878.html
Copyright © 2011-2022 走看看