adb命令删除手机密码设置

时间:2024-02-24 15:40:27

Sino16918

首先介绍一下什么叫ADB命令:

ADB的全称为Android Debug Bridge,就是起到调试桥的作用。ADB是android sdk(Android专属的软件开发工具包)里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如DEFY). 它的主要功能有:

* 运行设备的shell(命令行)

* 管理模拟器或设备的端口映射

* 计算机和设备之间上传/下载文件

* 将本地apk软件安装至模拟器或android设备

写这个帖子就是为了普及一下ADB几个常用命令,虽然网上这东西很多,但是我想,跟DEFY结合起来使用,大家会记得更牢靠。

工欲善其事必先利其器,所以要使用ADB,就得先搭好平台。(有个机油说添加系统变量,我想,这个还是适合有一定基础的人用哦,在这里我就不说添加变量的方法了)。但是Androidsdk那么大……难道把它都下载下来?答案必须是否定的。不知道使用过defy教程给出的root工具的同学是否注意到,在defy_tools\OneClickRoot+Recovery文件夹下,有adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll三个文件,其实使用ADB命令,这三个文件就足矣,想必大家都有,所以这里就不提供了。

对于没有的,如果你安装的有豌豆荚,那么,请移步豌豆荚的根目录C:\Program Files\WandouJia,你会发现也有这三个文件。不难得出,ADB的运用是十分广泛的。无论从DEFY获取root权限到日常豌豆荚的使用,都离不开它。

当然,光有了这个还是不能直接使用的,我们要在电脑端装好对应的ADB驱动。刷过机的同学在安装摩托提供的驱动的时候其实已经装好的,如果没有的,自己去找,或者用豌豆荚直接连接手机装驱动即可。确保驱动装好的方法是将手机【设置】-【程序】-【安装和调试】-USB调试开,在开机状态链接至电脑后右键单击计算机(XP中是我的电脑)进入管理-设备管理器,看到下图所示即可。

下面进入正题。如何才能进入ADB命令窗口呢?最为简单的方法就是,在adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll三个文件所在的窗口内,同时按住【shift】+【鼠标右键】,选择【在此处打开命令窗口】。如图

当然,也可以在命令提示符窗口(cmd.exe)下进入。按住【徽标键】+【R】打开运行,输入cmd,

然后输入:cd C:\Program Files(x86)\WandouJia(或是其他包含三个文件的目录),如下图(注意cd与路径之间有空格,我的系统为64位,所以豌豆荚默认安装在C:\Program Files (x86)文件夹下,32位系统默认是C:\Program Files目录)。

进入该窗口以后,即可使用一下提供的各种命令。当然,如果你不知道都有什么命令,可以打一行

1. adb ?

就会打印出所有可用的命令供参考。

以下是所有可用的ADB命令:

Android DebugBridge version 1.0.20

-d

- directs command to the only connected USB device

returns an error if more than one USB device is

present.

-e

- directs command to theonly running emulator.returns an error if more than one emulator is running.

-s <serialnumber> –directs command to the USB device or emulator withthe given serial number

-p <product name or path> – simple product namelike ’sooner’, or

a relative/absolute pathto a product

out directory like ‘out/target/product/sooner’.

If -p is not specified, the ANDROID_PRODUCT_OUT

environment variable is used, which must

be an absolute path.

devices

– list all connecteddevices

device commands:

adb push <local> <remote> – copy file/dir todevice

adb pull <remote> <local> – copy file/dir fromdevice

adb sync [ <directory> ] – copy host->deviceonly if changed

(see ‘adb help all’)

adbshell – run remote shell interactively

adb shell <command> – run remote shell command

adb emu<command> – run emulator console command

adb logcat [ <filter-spec> ] – View device log

adb forward <local> <remote> – forward socket connections

forward specs are one of:

tcp:<port>

localabstract:<unix domain socket name>

localreserved:<unix domain socket name>

localfilesystem:<unix domain socket name>

dev:<character device name>

jdwp:<process pid> (remote only)

adb jdwp

– list PIDs of processes hosting a JDWP transport

adb install [-l] [-r] <file> – push this package file to the device and installit

(‘-l’ means forward-lock the app)

(‘-r’ means reinstall the app, keeping its data)

adb uninstall [-k] <package> – remove this app package from the device

(‘-k’ means keep the data and cache directories)

adbbugreport – return all information from the device

that should be included in a bug report.

adbhelp – show this help message

adbversion – show version num

DATAOPTS:

(nooption) – don’t touch the data partition

-w – wipe the data partition

-d – flash the data partition

scripting:

adb wait-for-device –block until device is online

adbstart-server – ensure that there is a server running

adb kill-server – kill the server if it is running

adbget-state – prints: offline | bootloader | device

adbget-serialno – prints: <serial-number>

adbstatus-window – continuously print device status for a specified device

adbremount – remounts the /system partition on the device re

ad-write

adbroot – restarts adb with root permissions

networking:

adb ppp <tty> [parameters] – Run PPP over USB.

Note: you should not automatically start a PDP connection.

<tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1

[parameters] – Eg. defaultroute debug dump local notty usepeerdns

adb sync notes: adb sync [ <directory> ]

<localdir> can be interpreted in several ways:

- If <directory> is not specified, both /system and /data partitions willbe updated.

- If it is “system” or “data”

, only the corresponding partition

is updated

第一课就此结束,在以后的课程中,会尝试使用ADB命令,解决一些实际的问题~

Sino16918

第一课,说了如何配置简单的ADB环境以及如何进入ADB环境,并列举了所有可用的命令,本节课,打算说下最基本的如何验证设备是否正确链接,以及如何使用reboot命令重启设备。

首先进入【设置】-【程序】-【安装和调试】-USB调试开,然后将手机连接至电脑。这点至关重要,否则ADB无法识别。上节课中在设备管理器中查看驱动是否安装正确是一种方法,其实使用ADB时候可以直接利用命令来查看设备是否链接好,以确保便于其他命令的操作。进入ADB环境后,输入

1. adb devices

即可当前所有链接的设备,如图,只插着一台DEFY,所以只显示了一个设备。

如果此处显示如下图,则说明你的手机未正确链接,或者驱动没有装好,或者USB借口松动等原因,重新检查前面的步骤,链接正确即可。

手机连上了我们能做些什么呢,当然,要从最简单的开始说。当你的手机突然死机了,我想大部分人都会选择抠电池来重启手机,但是这样子对手机好不好呢?这个我也不清楚,但是拿电脑来类比下,就觉得应该是有害而无利的。所以adb的reboot命令此时就发挥效力了。

当你手机死机了,恰好后盖又是那种不太容易抠开的,而身边恰好又有一台有ADB环境的电脑的时候,把手机链接电脑(当然,是在打开了USB调试的前提下)。按照之前的方法进入ADB命令窗口,输入

1. adb reboot

死了的机子就会立马快速重启,恢复生机。如图

本节课说的东西比较少,下次会说一些更实用的。

为方便看不懂此系列课程的机油方便的解决密码遗忘的问题,特奉上【解答组】御法度(Tony)出品的密码移除工具,使用方法见包内说明文档。在法度兄指导下经鄙人修改后,本工具同样适用于bootmenu模式。本工具仅供应急使用,不可用来偷窥他人隐私等从事其他违法背德行径。此工具经本人测试可以使用,如有问题请及时联系作者或本人,一经使用,则表示同意本声明。对于使用本工具操作不当造成的损失,作者及本人不承担任何责任,特此声明!(用过工具的可以来说下效果)

小工具下载地址:小工具暂停下载

大家还是自己看着弄吧

Sino16918

在论坛里常常碰到求助的,说访问限制的密码忘记了,或者是锁屏密码忘记了,导致有些程序(如短信,通讯录等重要程序)打不开,影响正常使用。又嫌麻烦,不愿意刷机。是不是就没有办法解决了呢?答案也是否定的。别忘了,ADB还有个shell命令呢。(本教程针对DEFY机型,其他

机型方法类似,但个别地方有细微变动,恕不细说)

首先介绍下什么是shell。

Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。

shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层。当从shell或其他程序向Linux传递命令时,内核会做出相应的反应。

shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传给Linux核心。

有一些命令,比如改变工作目录命令cd,是包含在shell内部的。还有一些命令,例如拷贝命令cp和移动命令rm,是存在于文件系统中某个目录下的单独的程序。对用户而言,不必关心一个命令是建立在shell内部还是一个单独的程序。

而本节课要说的内容,恰好跟adb shell命令有关。

首先我们要知道的是,MIUI的访问限制的密码是图形密码,它储存在根目录的/data/system路径下,名字为access_control.key如下图

当你忘记密码的时候,首先想到的是进入RE管理器删除该文件,但是假如RE管理也被访问限制了呢?此时ADB命令就又大显神威了。

将手机链接至电脑,熟悉的进入ADB命令行界面,只需输入

1. adb shell rm /data/system/access_control.key

密码什么的顿时被搞定,重新去试试被限制的程序,可以打开了吧?再去看看访问限制的菜单,发现已经自动停用了~!

同理,锁屏密码也是位于该目录下

假如是在屏幕未锁定的情况下忘记了锁屏的密码,赶紧在屏幕锁住之前到RE管理器的/data/system/下找到gesture.key(图形密码)或者password.key(数字及密码),删除之。假如是一不小心在锁屏的状态下忘记了密码,可以将手机连接至电脑,进入ADB执行

1. adb shell rm /data/system/gesture.key

可以删除锁屏图形密码;

执行

1. adb shell rm /data/system/password.key

可以删除锁屏数字密码两种加密方式

开屏,是不是不需要输入密码了呢?再看设置菜单里,密码已经被重置为无。

我觉得这是ADB命令里最有用的一个地方了。

当然,以上都是建立在USB调试模式开启的状况下。如果你悲剧的没有开启,如下图所示

那么可以通过其他途径删除密码。

重启手机,亮蓝灯的时候按音量下进入【bootmenu】菜单,选择【Tools】

将手机连接至电脑,然后选择【ADB Daemon】开启adb

可以发现手机已经链接,此时就可以通过adb shell命令来删除密码了

按照课程一给出的方法,进入ADB环境,

依次输入

1

. adb shell

2. mount /data/

3. rm /data/system/access_control.key

4. reboot

当然,以上是进入shell里完成的,也可以逐条执行,效果是一样的

1. adb shell mount /data/

2. adb shell rm /data/system/access_control.key

3. adb reboot

同理锁屏密码(图形、数字字母密码)也可以通过此方法删除,只不过是将access_control.key换成gesture.key或者password.key罢了。小米机型需要注意的是,在使用shell命令前,请先输入adb root ,取得root权限(多谢java豆子)

当然删除密码的途径不只此一种,如果你手机端安装的有终端模拟器,那就更方便了,无论你是否开启了调试模式,只要赋予终端模拟器root权限,然后输入

1. su

2. rm /data/system/access_control.key

即可快速删除访问限制密码,锁屏密码同理。

本课多谢御法度、郁闷得撞墙、团支书以及7楼的兄弟指点,希望对广大机油有帮助!请勿将本课程知识用来窥探他人隐私等其他违法背德行径!转帖请标明出自MIUI社区,并附上本帖连接。