adb 常用命令(持续更新)

ADB means:android debug bridge,是调试Android设备的桥。开发电视经常需要敲一些adb命令,这里收藏一些常用的ADB命令。
1、http_proxy

设置代理:

adb shell settings put global http_proxy 代理IP地址:端口号

如:

adb shell settings put global http_proxy 127.0.0.1:8888

移除代理:

adb shell settings delete global http_proxy

adb shell settings delete global global_http_proxy_host

adb shell settings delete global global_http_proxy_port

adb reboot

但是,adb shell settings delete global http_proxy,再有些没有delete参数的设备上报错?

1
2
3
4
5
6
7
8
9
Invalid command: delete

usage:  settings [--user NUM] get namespace key

        settings [--user NUM] put namespace key value

'namespace' is one of {system, secure, global}, case-insensitive

If '--user NUM' is not given, the operations are performed on the owner user.

解决方法,sqlite中找到settings.db,在数据库中删除代理信息(需要Root)

1
2
3
4
5
sqlite3 /data/data/com.android.providers.settings/databases/settings.db
sqlite> select * from global;
sqlite> delete from global where name="global_http_proxy_host";
sqlite> delete from global where name="global_http_proxy_port";
sqlite> delete from global where name="http_proxy";

then adb rebbot

也可以使用第三方apk

AndroidProxySetter工具可以帮助我们使用adb命令可以快速进行wifi代理的设置和清除
GitHub地址:

https://github.com/jpkrause/AndroidProxySetter
下好apk后,安装到手机

adb install proxy-setter-debug-0.2.1.apk

设置代理:

adb shell am start -n tk.elevenk.proxysetter/.MainActivity -e host 代理IP地址 -e port 端口号 -e ssid WIFI名称 -e reset-wifi true -e key WIFI密码

如:

adb shell am start -n tk.elevenk.proxysetter/.MainActivity -e host 127.0.0.1 -e port 8888 -e ssid YOUR-WIFI-NAME -e reset-wifi true -e key YOUR-WIFI-PASSWORD

2、安装、卸载应用

安装:

adb install com.xxx.xxx(包名)

卸载:

adb uninstall com.xxx.xxx(包名)

3、调试应用

抓日志:

adb logcat -v time > ~\logcat.log

列出adb连接的设备:

adb devices

PC机连接某个电视盒子设备:

adb connect 192.168.1.19(连接某个设备,192.168.1.19是设备的IP地址,手机测试一般用不到,盒子或者电视设备会用到)

清除安装的APK缓存数据:

adb shell pm clear com.hiveview.tv(包名)

清除某个apk缓存数据,清空的是 /data/data/包名/ 下的数据,包括数据库文件等

查看APK包名版本信息:

aapt dump badging pc上apk路径地址

查看某个apk(在Android系统中包名(例如格式:com.hiveview.tv)是唯一标示一个应用的ID)

shell模式:

命令窗口 adb shell 是进入Linux命令模式了,进入此模式之后,ls,cd ,rm 等命令都可用使用了.

把本地文件放到设备端:

adb push D:\file.txt system/

file.text是本地文件

system是设备路径

把设备端文件放置到本地电脑:

adb pull system/file.txt D:/

system/file.text是设备上的文件

D:/是本地路径

截屏:

adb shell 进入linux命令模式

执行screencap -p /data/app/1.png 截屏,截屏的图片1.png即在/data/app文件夹下了

发送广播的命令:

adb shell am broadcast -a com.android.test –es test_string “this is test string” –ei test_int 100 –ez test_boolean true

-es 是传递String参数,test_string 参数key “this is test string” 是参数值

-ei 是传递int参数,test_int 参数key 10 是参数值

-ez 是传递boolean参数,test_boolean 参数key true是参数值

启动某个activity:

am start -n 包(package)名/包名.活动(activity)名称启动

云屏默认设置:am start com.android.settings/.Settings

后跟 –es 可以传递参数

挂载某个目录:

mount -o remount /system
挂载某个目录,如果命令行提示文件只有读权限,建议执行此命令挂一下此目录

查看内存使用情况:

adb shell 模式下:cat /proc/meminfo

详情解释:http://www.jbxue.com/LINUXjishu/9930.html

MemTotal: 所有可用RAM大小(即物理内存减去一些预留位和内核的二进制代码大小)

MemFree: LowFree与HighFree的总和,被系统留着未使用的内存

Buffers: 用来给文件做缓冲大小

Cached: 被高速缓冲存储器(cache memory)用的内存的大小(等于 diskcache minus SwapCache ).

SwapCached:被高速缓冲存储器(cache memory)用的交换空间的大小
已经被交换出来的内存,但仍然被存放在swapfile中。用来在需要的时候很快的被替换而不需要再次打开I/O端口。

Active: 在活跃使用中的缓冲或高速缓冲存储器页面文件的大小,除非非常必要否则不会被移作他用.

Inactive: 在不经常使用中的缓冲或高速缓冲存储器页面文件的大小,可能被用于其他途径.

HighTotal\HighFree: 该区域不是直接映射到内核空间。内核必须使用不同的手法使用该段内存。

LowTotal\LowFree: 低位可以达到高位内存一样的作用,而且它还能够被内核用来记录一些自己的数据结构。

SwapTotal: 交换空间的总大小

SwapFree: 未被使用交换空间的大小

Dirty: 等待被写回到磁盘的内存大小。

Writeback: 正在被写回到磁盘的内存大小。

AnonPages:未映射页的内存大小

Mapped: 设备和文件等映射的大小。

Slab: 内核数据结构缓存的大小,可以减少申请和释放内存带来的消耗。

SReclaimable:可收回Slab的大小

SUnreclaim:不可收回Slab的大小(SUnreclaim+SReclaimable=Slab)

PageTables:管理内存分页页面的索引表的大小。

NFS_Unstable:不稳定页表的大小

VmallocTotal: 可以vmalloc虚拟内存大小

VmallocUsed: 已经被使用的虚拟内存大小。

VmallocChunk: largest contigious block of vmalloc area which is free

命令行模拟遥控器按键:

adb shell 进入命令模式下:input keyevent keycode值 如:

input keyevent 4 相当于按了返回键

input keyevent 82 模拟菜单键

input keyevent 3 主页键

input keyevent 19 按上键

input keyevent 20 按下键

input keyevent 21 按左键

input keyevent 22 按右键

input keyevent 23 按确定键

刷ROM命令:

adb connect IP 连接上盒子或者电视,盒子上插上带ROM的U盘,命令窗口输入

adb reboot recovery,之后盒子重启会直接读取ROM文件进行刷机了

串口TTL:pm list packages 查看已安装应用

龙颜大悦,朕要赏赐!