34个Android常用adb shell命令汇总

JeremyS89 8年前
   <p>调试Android程序有时需要adb shell 命令,adb全称Android Debug Bridge ,就是起到调试桥的作用。通过adb我们可以在Eclipse中通过DDMS来调试Android程序,说白了就是debug工具。adb通过监听Socket TCP 5554等端口让IDE和Qemu通讯。默认情况下当我们运行Eclipse时adb进程就会自动运行。adb是一个C/S模式的程序,由三个部分组成:a client,a server and a daemon。其中client和server运行在的development machine上,daemon运行在emulator或设备上。</p>    <p>adb一般位于/platform-tools/目录下,其中是android sdk的安装目录。可以把adb 路径添加进系统环境变量path里面,例:D:\sdk\platform-tools;这样就能在打开powershell时就能响应adb命令,不用每次都进入adb目录。以下是常用adb命令</p>    <p>adb 常用命令大全</p>    <ol>     <li>显示系统中全部Android平台: <pre>  android list targets</pre> </li>     <li>显示系统中全部AVD(模拟器): <pre>  android list avd</pre> </li>     <li>创建AVD(模拟器): <pre>  android create avd –name 名称 –target 平台编号</pre> </li>     <li>启动模拟器: <pre>  emulator -avd 名称 -sdcard ~/名称.img (-skin 1280×800)</pre> </li>     <li>删除AVD(模拟器): <pre>  android delete avd –name 名称</pre> </li>     <li>创建SDCard: <pre>  mksdcard 1024M ~/名称.img</pre> </li>     <li>AVD(模拟器)所在位置: <pre>  Linux(~/.android/avd)      Windows(C:\Documents and Settings\Administrator\.android\avd)</pre> </li>     <li>启动DDMS: <pre>  ddms</pre> </li>     <li>显示当前运行的全部模拟器: <pre>  adb devices</pre> </li>     <li>对某一模拟器执行命令: <pre>  abd -s 模拟器编号 命令</pre> </li>     <li>安装应用程序: <pre>  adb install -r 应用程序.apk</pre> </li>     <li>获取模拟器中的文件: <pre>  adb pull <remote> <local></pre> </li>     <li>向模拟器中写文件: <pre>  adb push <local> <remote></pre> </li>     <li>进入模拟器的shell模式: <pre>  adb shell</pre> </li>     <li>启动SDK,文档,实例下载管理器: <pre>  android</pre> </li>     <li>缷载apk包: <pre>  adb shell  cd data/app  rm apk包  exit  adb uninstall apk包的主包名  adb install -r apk包</pre> </li>     <li>查看adb命令帮助信息: <pre>  adb help</pre> </li>     <li>在命令行中查看LOG信息: <pre>  adb logcat -s 标签名</pre> </li>     <li>adb shell后面跟的命令主要来自: <pre>  源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。</pre> </li>     <li>删除系统应用: <pre>  adb remount (重新挂载系统分区,使系统分区重新可写)。  adb shell  cd system/app  rm *.apk</pre> </li>     <li>获取管理员权限: <pre>  adb root</pre> </li>     <li>启动Activity: <pre>  adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。</pre> </li>     <li>发布端口: <pre>  你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:  adb forward tcp:5555 tcp:8000</pre> </li>     <li>复制文件: <pre>  你可向一个设备或从一个设备中复制文件,  复制一个文件或目录到设备或模拟器上:  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 .</pre> </li>     <li>搜索模拟器/设备的实例: <pre>  取得当前运行的模拟器/设备的实例的列表及每个实例的状态:  adb devices</pre> </li>     <li>查看bug报告: <pre>  adb bugreport</pre> </li>     <li>记录无线通讯日志: <pre>  一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:  adb shell  logcat -b radio</pre> </li>     <li>获取设备的ID和序列号: <pre>  adb get-product  adb get-serialno</pre> </li>     <li>访问数据库SQLite3 <pre>  adb shell  sqlite3</pre> </li>     <li>cd system/sd/data //进入系统内指定文件夹</li>     <li>ls //列表显示当前文件夹内容</li>     <li>rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件</li>     <li>rm xxx //删除文件xxx</li>     <li>rmdir xxx //删除xxx的文件夹</li>    </ol>    <p> </p>    <p>来自:http://www.androidchina.net/6055.html</p>    <p> </p>