zoukankan      html  css  js  c++  java
  • [android]用adb操作android模拟器

    因为最近要做一个socket编程作业,做的是pc与android手机的文件夹同步程序,所以要用到很多对android模拟器的文件夹操作。虽然在eclipse下开发,但是操作起来不甚方便,所以选择用adb操作模拟器。三天前我还对android开发完全不懂,纠结了3天,还是把作业搞定了,其实从一个小白到菜鸟还是不难的。因为以后再接触到android开发的机会不多,所以准备把这次短暂的android开发之旅用博客记录一下,最后也会给出项目代码,万一某个也为socket作业纠结的童鞋看到了,可以直接拿给老师交差了。那就先从adb的使用开始。因为三天前还没听说过adb是啥玩意儿,所以一步一步来吧~

    --------------------------------------------------- 

    (1)adb是什么

    adb-android debug brige。adb是android sdk中提供的工具,用来调试安卓手机,可以是模拟器,也可以是真手机。abd在哪里?应该存在于android sdk文件夹的tools里面吧?所以打开android sdk 文件夹下的tools文件夹,没发现sdk,只发现了adb_has_moved.txt 这个文件,里面说The adb tool has moved to platform-tools。在sdk文件夹下的platform-tools文件夹下果真有adb.exe。那么,配置环境变量,将G:\D\android\android-sdk_r17-windows\android-sdk-windows\platform-tools放到系统变量path里面,然后再命令行下打开adb,看到命令行输出很多东西,所以adb已经可以了。

    ----------------------------------------------------- 

    (2)adb可以做什么

    1、快速更新设备或手机模拟器中的代码,如应用或Android系统升级;
    2、在设备上运行shell命令;
    3、管理设备或手机模拟器上的预定端口;

    4、在设备或手机模拟器上复制或粘贴文件

    ---------------------------------------------------------

    (3)一些常用的操作

    1, 显示android 模拟器状态:

           adb会自动监听5554端口,所以可以直接操作模拟器。  

           adb devices (端口信息)
                   adb get-product (设备型号)

                       adb get-serialno (序列号)

    比如:

     

    2, 上传下载文件

          上传文件: adb push <PC文件> <模拟器文件>

    下载文件: adb pull <模拟器文件> <PC文件>

         比如:adb push /test/1.png   /mnt/sdcard/DCIM/Camera  这样就把pc上的图片传到了模拟器的sd卡上

         adb pull  /data/data/

    3, Shell操作

     adb shell

         进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux 的命令,另外如果只想执行一条shell命令,可以采用以 下的方式:
    adb shell [command]   (Androidlinux shell做了大量精简,很多linux常用指令都不支持)  
    如: adb shell rm /mnt/sdcard/DCIM/Camera/1.png  删除刚才添加的文件 

              4,安装程序: adb install <*.apk>

             卸载软件: adb shell rm /data/app/<*.apk>

             补充一点,通过adb安装的软件(*.apk)都在"/data/app/"目录下,所以安装时不必制定路径,卸载只需要简单的执行"rm" 就行。

          5,结束adb: adb kill-server 

          6,等待正在运行的设备: adb wait-for-device

          7, 端口转发: adb forward adb forward tcp:5555 tcp:1234  (将默认端 TCP 5555转发到1234端口上)

          8,查bug报告: adb bugreport

                9,adb shell sqlite3 访问数据库SQLite3 

               10,adb shell logcat -b radio 记录无线通讯日志

  • 相关阅读:
    Google基本利用
    sqlmap
    kali中wireshark打开后错误
    Python Flask Jinja2模板引擎
    Python Flask学习
    Python 豆瓣日记爬取
    Python 函数装饰器
    Python 生成器
    ss源码学习--从协议建立到完成一次代理请求
    ss源码学习--工作流程
  • 原文地址:https://www.cnblogs.com/orchid/p/2511469.html
Copyright © 2011-2022 走看看