adb shell 命令详解

fmms 13年前
     <p><span style="font-size:16px;"><strong>adb介绍</strong></span></p>    <p>SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序。借助这个工具,我们可以管理设备或手机模拟器的状态。还可以进行以下的操作:<br />   <br /> 1、快速更新设备或手机模拟器中的代码,如应用或Android 系统升级; <br /> 2、在设备上运行shell命令; <br /> 3、管理设备或手机模拟器上的预定端口; <br /> 4、在设备或手机模拟器上复制或粘贴文件; </p>    <p> </p>    <p><span style="font-size:16px;"><strong>adb在集成开发环境中的工作  </strong></span><br />    adb的工作方式比较特殊采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。  <br />      1.通过adb可以轻松的执行Linux Shell命令,如adb shell dir 就是列举目录,在Linux中根目录为/而不是Windows上的C盘、D盘。  <br />      2.安装apk程序到模拟器则执行adb install android123.apk,这样名为android123的安装包就会安装到Android模拟器中,前提是android123.apk文件需要放到SDK/Tools目录下。  <br />      3.向emulator传送文件, 使用adb push android123.txt /tmp/android123.txt命令可以把SDK/Tools下的android123.txt文件传输到模拟器的/tmp/文件夹中,需要注意的是/tmp/文件夹中内容会在Android模拟器重新启动时清空。  <br />      4.从Android仿真器中回传文件到电脑  <br />    通过adb pull /tmp/android123.txt android123.txt命令就会把仿真器的tmp文件夹下android123.txt文件回传到电脑SDK/Tools目录下。  <br />   <br /> <span style="font-size:16px;"><strong>adb 常用命令大全</strong></span></p>    <p>1. 显示系统中全部Android平台:</p>    <p>  <strong>  android list targets</strong></p>    <p>2. 显示系统中全部AVD(模拟器):</p>    <p>  <strong>  android list avd</strong></p>    <p>3. 创建AVD(模拟器):</p>    <p>   <strong> android create avd --name 名称 --target 平台编号</strong></p>    <p>4. 启动模拟器:</p>    <p>  <strong>  emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)</strong></p>    <p>5. 删除AVD(模拟器):</p>    <p>    <strong>android delete avd --name 名称</strong></p>    <p>6. 创建SDCard:</p>    <p>   <strong> mksdcard 1024M ~/名称.img</strong></p>    <p>7. AVD(模拟器)所在位置:</p>    <p>  <strong>  Linux(~/.android/avd)      Windows(C:\Documents and Settings\Administrator\.android\avd)</strong></p>    <p>8. 启动DDMS:</p>    <p>    <strong>ddms</strong></p>    <p>9. 显示当前运行的全部模拟器:</p>    <p>    <strong>adb devices</strong></p>    <p>10. 对某一模拟器执行命令:</p>    <p>      <strong>abd -s 模拟器编号 命令</strong></p>    <p>11. 安装应用程序:</p>    <p>    <strong>  adb install -r 应用程序.apk</strong></p>    <p>12. 获取模拟器中的文件:</p>    <p>      <strong>adb pull <remote> <local></strong></p>    <p>13. 向模拟器中写文件:</p>    <p>   <strong>   adb push <local> <remote></strong></p>    <p>14. 进入模拟器的shell模式:</p>    <p>      <strong>adb shell</strong></p>    <p>15. 启动SDK,文档,实例下载管理器:</p>    <p>      <strong>android</strong></p>    <p>16. 缷载apk包:</p>    <p>     <strong> adb shell</strong></p>    <p>      <strong>cd data/app</strong></p>    <p>      <strong>rm apk包</strong></p>    <p>     <strong> exit</strong></p>    <p>      <strong>adb uninstall apk包的主包名</strong></p>    <p>      <strong>adb install -r apk包</strong></p>    <p>17. 查看adb命令帮助信息:</p>    <p>      <strong>adb help</strong></p>    <p>18. 在命令行中查看LOG信息:</p>    <p>    <strong>  adb logcat -s 标签名</strong></p>    <p>19. adb shell后面跟的命令主要来自:</p>    <p>      源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。</p>    <p>20. 删除系统应用:</p>    <p>     <strong> adb remount (重新挂载系统分区,使系统分区重新可写)。</strong></p>    <p><strong>      adb shell</strong></p>    <p><strong>      cd system/app</strong></p>    <p><strong>      rm *.apk</strong></p>    <p>21. 获取管理员权限:</p>    <p>      <strong>adb root</strong></p>    <p>22. 启动Activity:</p>    <p> <strong>     adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。</strong></p>    <p>23、发布端口:</p>    <p>   <strong> 你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如: <br /> adb forward tcp:5555 tcp:8000</strong></p>    <p>24、复制文件:</p>    <p>    你可向一个设备或从一个设备中复制文件, <br />      复制一个文件或目录到设备或模拟器上: <br />  <strong> adb push <source> <destination></destination></source> </strong><br />       如:adb push test.txt /tmp/test.txt <br />      从设备或模拟器上复制一个文件或目录: <br />      <strong>adb pull <source> <destination></destination></source> </strong><br />      如:adb pull /addroid/lib/libwebcore.so .</p>    <p>25、搜索模拟器/设备的实例:</p>    <p>     取得当前运行的模拟器/设备的实例的列表及每个实例的状态: <br />     <strong>adb devices</strong></p>    <p>26、查看bug报告: <br /> <strong>adb bugreport </strong><br /> 27、记录无线通讯日志:</p>    <p>    一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录: <br />    <strong> adb shell <br />     logcat -b radio</strong></p>    <p>28、获取设备的ID和序列号:</p>    <p>     <strong>adb get-product <br />      adb get-serialno</strong></p>    <p>29、访问数据库SQLite3</p>    <p>     <strong>adb shell <br />      sqlite3</strong></p>    <p>#cd system/sd/data //进入系统内指定文件夹 <br /> #ls //列表显示当前文件夹内容 <br /> #rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件 <br /> #rm xxx //删除文件xxx <br /> #rmdir xxx //删除xxx的文件夹</p>