分享

ADB命令使用基础及删除屏幕锁实验

 victor1208 2016-02-16

前阵子看到一篇通过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.exeandroidsdk开发包platform-tools目录下。adb采用监听Socket TCP 5554等端口的方式让IDEQemu通讯。通过ADB命令,我们可以对手机执行很多操作,比如安装程序、传送文件、端口管理、运行命令等等。顾名思义,我们可以把ADB理解成PCandroid手机的桥梁,能在电脑上操作手机了。

ADB是一个C/S架构的应用程序,由三部分组成:

1adb client运行在PC上(为DDMS,即IDE工作)

2adb daemon(守护进程),运行于Emulator(为与Emulator中的VM交互工作);

3adb server(服务进程),运行在PC,管理adb clientadb 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 ]

常用命令

1adb devices 查询关联模拟器\设备


2adb install 安装应用到模拟器/设备

我们装一个apk(为了方便都放到c盘下)到虚拟机里试试。


提示安装成功了。

3adb uninstall卸载应用程序

需要注意:卸载软件时,卸载的是包名,后面跟的是包的名字,而不是.APK.比如我们刚才刚装到虚拟机中的x.apk文件,包名是什么呢 ?参考这篇文章http://blog.csdn.net/jlminghui/article/details/40622103

也可以在系统中查看包名。


找到包名,卸载成功。


4adb shell 启动Linux命令界面

Android本来就是一个linux操作系统,通过上面的命令,就可以进入设备或模拟器的shell环境中,所以大部分都是linux的命令,如mkdir,ls,netstat,mount等。


5adb 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 标签名

19adb 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



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多