前阵子看到一篇通过ADB命令删除屏幕锁的文章,当时很多朋友反馈是很有用的。恰好看到ADB命令的使用这块,就作为实验来做吧。 (原文链接:http://mp.weixin.qq.com/s?__biz=MzAwNDcwMDgzMA==&mid=401462633&idx=2&sn=d00d1a5660ea2439fb3ad3884edab025&scene=1&srcid=01199D931aAP98xgD1vppSmZ&from=singlemessage&isappinstalled=0#wechat_redirect) 0x1什么是ADB? ADB(Android Debug Bridge)是Android 提供的一个通用的调试工具,借助这个工具,我们可以很好的调试开发的程序,adb.exe在android的sdk开发包platform-tools目录下。adb采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯。通过ADB命令,我们可以对手机执行很多操作,比如安装程序、传送文件、端口管理、运行命令等等。顾名思义,我们可以把ADB理解成PC与android手机的桥梁,能在电脑上操作手机了。 ADB是一个C/S架构的应用程序,由三部分组成: 1)adb client运行在PC上(为DDMS,即IDE工作) 2)adb daemon(守护进程),运行于Emulator(为与Emulator中的VM交互工作); 3)adb server(服务进程),运行在PC,管理adb client和adb daemon通信。
0x2环境配置 1、安装android sdk Android SDK 指的是Android专属的软件开发工具包。 最新版本是R24.4.1 下载地址:http://tools./index.php/sdk 2、设置环境变量 自SDK2.2版本以后adb.exe就放在platform-tools文件夹里。因此在设置环境变量的时候就会忽略了adb,在命令控制台上输入”adb”会提示”不是内部或者外部命令”。需要设置环境变量才能方便使用。 win8下的设置办法: 我的电脑–右键–属性–高级系统设置–环境变量–path: 添加:盘符:\xxx\android\android-sdk-windows\platform-tools。根目录根据自己情况的定。 win下调用cmd,输入adb提示各种参数,证明设置成功。
3、开启USB调试 不同系统版本情况略有不同,比如我的mate7,开发者选项被隐藏起来了,但可以通过选择“设置”(或“设定”)——“关于手机”或“关于设备”,找到“版本号”,用手连续快速点击“内部版本号”,然后,就调出来了。在开发者模式下,可以设置打开USB调试模式。 4、启动虚拟机或者USB线连接手机
0x3 ADB命令的使用 基本格式: adb [-d|-e|-s 常用命令: 1、adb devices 查询关联模拟器\设备 2、adb install 我们装一个apk(为了方便都放到c盘下)到虚拟机里试试。 提示安装成功了。 3、adb uninstall卸载应用程序 需要注意:卸载软件时,卸载的是包名,后面跟的是包的名字,而不是.APK.比如我们刚才刚装到虚拟机中的x.apk文件,包名是什么呢 ?参考这篇文章http://blog.csdn.net/jlminghui/article/details/40622103 也可以在系统中查看包名。 找到包名,卸载成功。 4、adb shell 启动Linux命令界面 Android本来就是一个linux操作系统,通过上面的命令,就可以进入设备或模拟器的shell环境中,所以大部分都是linux的命令,如mkdir,ls,netstat,mount等。 5、adb logcat 打印日志 打印android日志记录,因为记录太多,我们先用logcat –c命令把日志记录清除,再使用logcat命令可以实时查看系统日志。 0x4删除锁屏文件实验 当然这种方法要求1、手机开启usb调试;2、手机已经成功root。原因很简单,开启usb调试模式,才能用adb命令进行操作。root成功才可以获得删除文件的权限。现实情况下这两者同时满足可能性极小…所以此方法仅仅做个验证。我的手机没有root,就用虚拟机来做实验吧。 首先启动虚拟机(genymotion android4.4.4)设置锁屏图案密码如下: 密码生效: 输入命令:adb shell rm /data/system/gesture.key 没有回显,但你会发现图案密码已经去掉了。有的版本可能仍然会有图案解锁界面,但随便输入都可以顺利进入了。 0x5、附加其他常用命令 1)显示系统中全部Android平台: android list targets 2)显示系统中全部AVD(模拟器): android list avd 3)创建AVD(模拟器):参考http://jingyan.baidu.com/article/20b68a88588205796cec6280.html android create avd --name 名称 --target 平台编号 4)启动模拟器: emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800) 5)删除AVD(模拟器): android delete avd --name 名称 6)创建SDCard: mksdcard 1024M ~/名称.img 7) AVD(模拟器)所在位置: Linux(~/.android/avd) Windows(C:\Documents andSettings\Administrator\.android\avd) 8)启动DDMS: ddms 9)显示当前运行的全部模拟器: adb devices 10)对某一模拟器执行命令: abd -s 模拟器编号 命令 11)安装应用程序: adb install -r 应用程序.apk 12)获取模拟器中的文件: adb pull 13)向模拟器中写文件: adb push 14)进入模拟器的shell模式: adb shell 15) 启动SDK文档,实例下载管理器: android 16)缷载apk包: adb shell cd data/app rm apk包 exit adb uninstall apk包的主包名 adb install -r apk包 17)查看adb命令帮助信息: adb help 18)在命令行中查看LOG信息: adb logcat -s 标签名 19)adb shell后面跟的命令主要来自: 源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。 20)删除系统应用: adb remount (重新挂载系统分区,使系统分区重新可写)。 adb shell cd system/app rm *.apk 21)获取管理员权限: adb root 22)启动Activity: adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。 23)发布端口: 你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如: adb forward tcp:5555 tcp:8000 24)复制文件: 你可向一个设备或从一个设备中复制文件, 复制一个文件或目录到设备或模拟器上: adb push 如:adb push test.txt /tmp/test.txt 从设备或模拟器上复制一个文件或目录: adb pull 如:adb pull /addroid/lib/libwebcore.so . 25)搜索模拟器/设备的实例: 取得当前运行的模拟器/设备的实例的列表及每个实例的状态: adb devices 26)查看bug报告: adb bugreport 27)记录无线通讯日志: 一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录: adb shell logcat -b radio 28)获取设备的ID和序列号: adb get-product adb get-serialno 29)访问数据库SQLite3 adb shell sqlite3 |
|
来自: victor1208 > 《IT技术文档》