2019年4月21日星期日

Android ADB常用命令学习



ADB很强大

获取序列号: adb get-serialno

查看连接计算机的设备: adb devices

重启机器: adb reboot

重启到bootloader,即刷机模式: adb reboot bootloader

重启到recovery,即恢复模式: adb reboot recovery

查看log: adb logcat

终止adb服务进程: adb kill-server

重启adb服务进程: adb start-server

获取机器MAC地址: adb shell cat /sys/class/net/wlan0/address

获取CPU序列号: adb shell cat /proc/cpuinfo

安装APK: adb install <apkfile> //比如:adb install baidu.apk

保留数据和缓存文件,重新安装apk: adb install -r <apkfile> //比如:adb install -r baidu.apk

安装apk到sd卡: adb install -s <apkfile> // 比如:adb install -s baidu.apk

卸载APK: adb uninstall <package> //比如:adb uninstall com.baidu.search

卸载app但保留数据和缓存文件: adb uninstall -k <package> //比如:adb uninstall -k com.baidu.search

启动应用: adb shell am start -n <package_name>/.<activity_class_name>

查看设备cpu和内存占用情况: adb shell top

查看占用内存前6的app: adb shell top -m 6

刷新一次内存信息,然后返回: adb shell top -n 1

查询各进程内存使用情况: adb shell procrank

杀死一个进程: adb shell kill [pid]

查看进程列表: adb shell ps

查看指定进程状态: adb shell ps -x [PID]

查看后台services信息: adb shell service list

查看当前内存占用: adb shell cat /proc/meminfo

查看IO内存分区: adb shell cat /proc/iomem

将system分区重新挂载为可读写分区: adb remount

从本地复制文件到设备: adb push <local> <remote>

从设备复制文件到本地: adb pull <remote> <local>

列出目录下的文件和文件夹,等同于dos中的dir命令: adb shell ls

进入文件夹,等同于dos中的cd 命令: adb shell cd <folder>

重命名文件: adb shell rename path/oldfilename path/newfilename

删除system/avi.apk: adb shell rm /system/avi.apk

删除文件夹及其下面所有文件: adb shell rm -r <folder>

移动文件: adb shell mv path/file newpath/file

设置文件权限: adb shell chmod 777 /system/fonts/DroidSansFallback.ttf

新建文件夹: adb shell mkdir path/foldelname

查看文件内容: adb shell cat <file>

查看wifi密码: adb shell cat /data/misc/wifi/*.conf

清除log缓存: adb logcat -c

查看bug报告: adb bugreport

获取设备名称: adb shell cat /system/build.prop

查看ADB帮助: adb help

跑monkey: adb shell monkey -v -p your.package.name 500

2019年4月20日星期六

电视盒子简单的ADB命令



接触过一段时间的智能电视/盒子之后,大家多多少少都会听过“ADB”这个概念,类似在阿里云YunOS、天猫魔盒上的ADB调制支持也一直是智能电视用户非常关心的一个问题!那么今天沙发网的小编就来给大家讲解一下到底什么是ADB?以及一些简单的ADB命令来帮助用户让智能电视/盒子的使用更方便。





adb可以让你在PC端任意控制你的乐视盒子(包括以后的超级电视),可以做到“安装\卸载软件”、“重启机器”“遥控盒子(电视)”等等,其实使用过程中都比较方便,只要记住命令行便可。

今天要讲的大家看标题应该也就明白了,就是抓取机器运行中的日志,方便工程师能够更快的找到问题原因,从而解决。下面是整个log抓取的命令行,大家可以先看看,具体步骤会在下方一一讲解。



cd c:\adb

adb connect IP地址

adb bugreport>bug.txt



简单的三行命令就可以查看机器运行日志,是不是很简单?只要这个你看懂了,其它的命令和操作都不是问题,小白也能成为大神。

对以上三行命令解释:"cd c:\adb"是打开adb


“adb connect IP地址”是通过IP地址连接机器,后面的IP地址可以在乐视盒子-->网络设置中查看

“adb bugreport>bug.txt”保存log到adb目录下,后面的bug.txt是文件名字,可以自己命名

好了,上面没看懂没关系,教程下面正式开始。

一、配置adb命令环境,其实很简单,下载附件中的adb压缩包,解压之后放到C盘根目录即可。

ps:如果不行建议大家安装一下豌豆荚,然后连接自己手中的android机器,从而建立环境。

ADB工具下载(百度一下)

配置流程:

准备工作:

1、下载ADB工具

2、检查乐视盒子IP地址

3、乐视盒子需要和电脑存在同一局域网下

一、下载附件中的ADB工具,然后解压到C盘根目录;

1)解压过程中选择解压文件

2)解压目录输入c:

3)解压完毕后进入C盘根目录查看是否存在

完整步骤图:






二、检查乐视盒子IP地址,并使用ADB命令连接;

1)打开乐视盒子“系统设置-->网络设置”,查看屏幕下方IP地址

2)电脑端使用windows键+R键打开运行,输出CMD进入命令窗口

3)接着输入以下命令:


cd c:\adb


adb connect XXXXX


adb install c:\xx\xx.apk

**注意**:connect后面输入乐视盒子对应的IP地址(可在网络设置中查看)

c:\xx\xx.apk 是C盘XX目录下XX.apk文件,比如我在C盘建立了一个APK文件夹,想要安装letv.apk到乐视盒

子中,该命令就是:adb install c:\apk\letv.apk






大家看上去可能比较迷糊,我们通过一个示例来演示给大家。

由于小编的乐视盒子IP地址为:10.58.72.4 ,所以在输入命令的时候就是adb connect 10.58.72.4





成功连接乐视盒子之后,我们输入安装命令。

小编我把"letv.apk"安装文件放置在C盘APK目录下,所以安装命令则是:adb install c:\apk\letv.apk





完成以上两行命令之后,就完成了软件安装的所有流程,接下来可在“乐视盒子-->我的应用”中查看。


二、配置完毕后打开CMD控制窗口,可以使用快捷键打开(win键+R),或者在开始菜单搜索CMD,然后以管理员身份打开。





进入CMD控制窗口后输入以下命令即可,图中红色框内的是小编乐视盒子的IP地址,自己的IP地址需要在盒子的网络设置中查看。





输入最后一行命令的时候需要一会时间,大概2到3分钟。因为这段时间在调取系统运行日志,运行时间越长日志也就越多,需要的时间也会久一点,待出现“c:\adb>”后就说明已经提取完成,可在C盘ADB目录下查看,文件名为bug.txt。






以上就是log提取的教程,如果你的乐视盒子(超级电视)在使用过程中突然遇到了问题,此事不要急于断电、关机、重启等操作,通过adb抓取一次log,然后在社区进行反馈,帮助我们解决产品存在的BUG。

[刷机教程] 各大安卓电视盒子通用!用无线获取ROOT权限教程!



安卓盒子root教程:




1、下载adb工具包。其中包含adb命令环境和root组件。



如果上面adb工具包内的adb.exe无法顺利运行,可以使用“刷机精灵”自带的Adb命令行工具,我是用的刷机精灵,它相对更稳定。




2、启动电视盒,连上无线网之后,记下电视盒的IP地址。以我的乐视盒子为例,是192.168.0.177。





3、进入adb命令行模式。键入adb connect 192.168.0.177并回车,无线连接上电视盒。
原谅我隐藏了




4、键入adb devices并回车,如下图所示表明已经顺利连接。




5、这一步用到push命令,也就是发送/传送的意思,不难理解。首先键入adb push su /sdcard并回车,
再键入adb push Superuser.apk /sdcard并回车,
将adb工具同一目录下的这两个ROOT关键文件发送到盒子的sdcard目录。



备注:如果使用刷机精灵的话,就把adb工具包里的su和Superuser.apk两个文件放到刷机精灵的对应目录下(我电脑下就是C:\Program Files (x86)\Shuame)再操作。另外,之所以先push到sdcard而不是一步到位进入盒子的system下面,是因为system这时还是受保护的,无法直接写入文件。

6、首先在shell环境下获取su权限,键入adb shell回车,再键入su回车,此时$符号变为#符号,表示获取shell环境下的su权限成功。



7、这一步比较关键,之前网上也有类似的盒子ROOT教程,并没有给出这一步导致直接无法进行下去。键入
mount -r -w -o remount /system
,将system目录挂载为可读写。




8、此处用到cp复制命令(就是copy的意思),将前面发送到sdcard目录的俩文件放到最终的位置。键入

cp /sdcard/su /system/bin/
回车。



9、此处是将su赋予可读写执行的4755权限,键入
chmod 4755 /system/bin/su
回车。




10、键入
,其实这一步就是相当于安装Superuser程序到系统软件目录。




11、最后检查下结果,键入

ll /system/app/Superuser.apk
,前面几步都操作正确的话,会返回类似下图所示,表明Superuser已具备读写的权限。




12、再键入

ll /system/bin/su
,显示su已经具备读写执行的权限。




13、重启盒子,键入reboot回车。 

重启后的盒子在程序列表会显示superuser超级用户程序,表明已经root成功。



再遇到需ROOT的软件可以顺利获取权限了。