adb 可以参考的链接:https://www.jianshu.com/p/5b21377cf69b
基础知识:adb 介绍
adb的全称为Android Debug Bridge 调试桥,是连接Android手机与PC端的桥梁,通过adb可以管理、操作模拟器和设备,如安装软件、系统升级、运行shell命令等。
管理设备
注:android手机、模拟器统一称为“设备”
adb devices // 显示连接到计算机的设备
adb get-serialno // 获取设备的ID和序列号serialNumber
------------------重启----------------------------------------------
adb reboot // 重启设备
adb reboot bootloader // 重启到bootloader,即刷机模式
adb reboot recovery // 重启到recovery,即恢复模式
------------------发送命令到设备--------------------------------------
adb [-d|-e|-s <serialNumber>]<command>
-d 发送命令给usb连接的设备
-e 发送命令到模拟器设备
-s <serialNumber> 发送命令到指定设备
adb相关
adb kill-server // 终止adb服务进程
adb start-server // 重启adb服务进程
adb root // 已root权限重启adb服务
adb wait-for-device // 在模拟器/设备连接之前把命令转载在adb的命令器中
获取设备硬件信息
adb shell cat /sys/class/net/wlan0/address // 获取mac地址
adb shell cat /proc/cpuinfo // 获取cpu序列号
管理设备app
aapt d badging <apkfile> // 获取apk的packagename 和 classname
------------------安装----------------------------------------------
adb install <apkfile> // 安装apk
adb install -r <apkfile> // 保留数据和缓存文件,重新安装apk,
adb install -s <apkfile> // 安装apk到sd卡
------------------卸载----------------------------------------------
adb uninstall <package> // 卸载app
adb uninstall -k <package> // 卸载app但保留数据和缓存文件
------------------启动app-------------------------------------------
adb shell am start -n<package_name>/.<activity_class_name> // 启动应用
------------------查看内存占用----------------------------------------
adb shell top // 查看设备cpu和内存占用情况
adb shell top -m 6 // 查看占用内存前6的app
adb shell top -n 1 // 刷新一次内存信息,然后返回
adb shell procrank // 查询各进程内存使用情况
adb shell kill [pid] // 杀死一个进程
adb shell ps // 查看进程列表
adb shell ps -x [PID] // 查看指定进程状态
adb shell service list // 查看后台services信息
adb shell cat /proc/meminfo // 查看当前内存占用
adb shell cat /proc/iomem // 查看IO内存分区
文件操作
//android中,sdcard代表内置存储,不同系统中tf卡的设备名可能不同,使用查看adb shell ls mnt查看所有存储设备名。
adb remount // 将system分区重新挂载为可读写分区
adb push <local> <remote> // 从本地复制文件到设备
adb pull <remote> <local> // 从设备复制文件到本地
adb shell ls // 列出目录下的文件和文件夹,等同于dos中的dir命令
adb shell cd <folder> // 进入文件夹,等同于dos中的cd 命令
adb shell rename path/oldfilename path/newfilename // 重命名文件
adb shell rm /system/avi.apk // 删除system/avi.apk//rm -f 1.apk 强制删除1.apk
adb shell rm -r <folder> // 删除文件夹及其下面所有文件
adb shell mv path/file newpath/file // 移动文件
adb shell chmod 777 /system/fonts/DroidSansFallback.ttf// 设置文件权限//system 644 all 777
adb shell mkdir path/foldelname // 新建文件夹
adb shell cat <file> // 查看文件内容
进行ADB连接之前,请先复制好adb所需文件到
电脑系统盘Windows文件夹下
运用命令行还可以解决如忘记图形锁屏密码、忘记锁屏数字密码之类的问题。
以下正式开始:
以下是本人解决问题是用到的若干语句:(未整理,如果你懂一些linux命令,我相信这已经足够你解决问题,如果你不知道可以先学习)
adb devices
adb shell
su
adb remount
mount -o remoutn rw /system %mount -oremount,rw /
adb chmod 644 /system/SystemUI.apk
adb chmod 644 /system/SystemUI.odex
%
chmod 644 SystemUI.apk
mv /system/SystemUI.apk /system/app/SystemUI.apk
%
上一层 cd \..
返回或退出 exit
/*
android.policy.odex
framework
framework-res.apk
*/
当adb pushDockService.apk /sdcard/
出现faild tocopy 'DockService.apk' to '/sdcard//DockService.apk' ermission denied
原因是/system是只读的,你需要先执行 adb remount
命令 adb remount之后,命令终端显示
remount failed: Operation not permitted adbremount 失败。
接着:
1. 确定是否正确连接手机了
adb devices
adb shell
su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
chmod 777 /system
cd system
chmod 777 app
cd app
chmod 777 SystemUI.apk
4. 然后你就有apk文件(或者系统目录)的读写权限了,例如你就可以使用adb push 把文件push到系统目录中去了,或者删除系统文件。
1. 查看设备
adb devices
这个命令是查看当前连接的设备,连接到计算机的android设备或者模拟器将会列出显示
2. 安装软件
adb install <apk文件路径>
这个命令将指定的apk文件安装到设备上
3. 卸载软件
adb uninstall <软件名>
adb uninstall -k <软件名>
如果加 -k 参数,为卸载软件但是保留配置和缓存文件.
4. 登录设备shell
adb shell
adb shell <command命令>
这个命令将登录设备的shell.
后面加<command命令>将是直接运行设备命令, 相当于执行远程命令
5. 从电脑上发送文件到设备
adb push <本地路径> <远程路径>
用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
6. 从设备上下载文件到电脑
adb pull <远程路径> <本地路径>
用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑
7. 显示帮助信息
adb help
这个命令将显示帮助信息
8.删除文件和文件夹
tools>adb remount
tools>adb shell
#su
#cd system/sd/data //进入系统内指定文件夹
#ls //列表显示当前文件夹内容
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件
#rm xxx //删除文件xxx
#rmdir xxx //删除xxx的文件夹
9.使用mkdir命令新建文件夹。例如:mkdirimages
adb install d:\hello.apk
adb unstall com.huawei.hello
说明:如果带-r选项重新安装apk时,安装在 /data/local/tmp/目录下,手机重启后还是使用原来的apk.
-----------文件操作系列-----------
adb push <local> <remote> - copy file/dir to device
adb pull <remote> <local> - copy file/dir from device
-----------基本linux shell命令 系列-----------
adb shell [command]
ls 列出目录下的文件和文件夹
cd 切换目录
rm 删除目录和文件
cat 查看文件内容
ps 可以看那个进程再跑
ps -x [PID] 查看单个进程的状态
top 可以看那个进程的占用率最高
su 切换到root用户
kill [pid] 杀死一个进程
chmod 777 <file> 修改该文件为可执行权限
再附上一些技巧性的adb命令:
忘记图形锁屏密码的命令:
adb devices
adb remount
adb shell rm /data/system/gesture.key
adb reboot
忘记锁屏数字密码的命令:
adb devices
adb remount
adb shell rm /data/system/password.key
adb reboot
修改开关机动画,准备好源文件后执行下列命令:
adb devices
adb remount
adb push power_off.gif /opl/data/res/images
adb push boot_animation.gif /opl/data/res/images
adb shell chmod 644 /opl/data/res/images/power_off.gif
adb shell chmod 644 /opl/data/res/images/boot_animation.gif
最后再给大家说一些常用的adb命令,及其意思,大家随意组合使用。
ADB命令帮助:
adb help
查看设备状态:
adb devices
重新挂载系统:
adb remount
获取超级权限:
adb root
进入超级终端:
adb shell
查看手机日志:
adb logcat
查看bug报告:
adb bugreport
重新启动手机:
adb reboot
重启到Recovery:
adb reboot recovery
重启到bootloader:
adb reboot bootloader
查看手机全部信息参数:
adb remount
adb shell getprop
安装应用程序:
adb install <apk文件名>
卸载应用程序:
adb uninstall <apk文件名>
提取手机或SD中文件:
adb pull /system/app/Browser.apk
删除系统或SD中文件:
adb shell rm /system/app/Browser.apk
chmod 777 Launcher2.apk
adb devices
adb remount
adb push C:\framework-res.apk/system/framework
adb push C:\SystemUI.odex /system/app
adb push C:\SystemUI.apk /system/app
adb push C:\Launcher2.apk /system/app
adb shell chmod 644/system/framework/framework-res.apk
adb shell chmod 644/system/app/SystemUI.odex
adb shell chmod 644/system/app/SystemUI.apk
adb shell chmod 644/system/app/Launcher2.apk
adb reboot
adb push SystemUI.odex /app
cat/sdcard/framework-res.apk>/system/framework-res.apk
chmod 644 /system/framework-res.apk
*chown 0.0 /system/framework-res.apk
mv /system/framework-res.apk/system/framework/framework-res.apk
rm /sdcard/framework-res.apk