• [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 记录无线通讯日志

  • 相关阅读:
    N皇后求解。万万没想到,只用一个一维数组就搞定了。还体现了回溯。
    图的存储与实现(一),使用邻接矩阵
    201671010139 2016-2017-2 《Java程序设计》关于java的初学体验总结
    题目常用解法
    【问题】如何批量导出AI文件里内嵌的图片
    安全算法基础(一)
    对安全的认知
    6月
    渗透--还是tp
    c++学习————VC报错解决方案(vc2013)
  • 原文地址:https://www.cnblogs.com/orchid/p/2511469.html
Copyright © 2020-2023  润新知