lol选英雄界面 有的时候会卡在o秒不动 啥也干不了 咋回事 (显卡1080t 内存也很多)


此文章内容整合自网络欢迎转載。
我相信做Android开发的朋友都用过ADB命令但是也只是限于安装应用push文件和设备重启相关,更深的就不知道了其实我们完全可以了解多一点,有一些不常用的场景我们至少应该知道它可以做到比如,我们知道adb install 却不知道adb shell am start前者是用来安装软件,后者用来打开软件后者的一个使用场景让我对他重视:公司定制Android系统,在调试屏幕的时候要看是否满屏验证驱动是否正常比较麻烦的做法是要拿到Android开发者手里用eclipse或者其他ide安装打开。显然相对于驱动人员连上数据线使用adb命令要复杂得多因此,了解多一点还是很有必要的
接下来可能说的比较繁琐,我盡量说简单点请耐心看完。

  

Adb的全称为Android Debug Bridge:android调试桥梁下图为Android官方对adb的介绍:
可以看出,Android的初衷是用adb这样的一个工具来协助开发人员在开发android應用的过程中更快更好的调试apk因此adb具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能;
现有安卓系统的权限机制越来越完善,很多希望能够绕开权限管理机制进行的一些操作都已经无法使用但是Adb却可以实现。实际上Adb在某種程度上有很大权限的即使是在最新版本的Android系统上。因为Adb的设计初衷是为了方便开发人员调试因此必然需要暴露一些权限以外的接口。于是很多公司利用这个特性可以绕开权限机制在非Root非定制机上做一些操作(具体用法就是下面说的这些)当然方式也是五花八门,比洳通过手机OTG连接这里不再赘述。
然后我们经常会看到这样的输出界面:
WiFi 状态变为启用/关闭/正在启动/正在关闭/未知

(以上广播均可使用 adb 触發)

表示停止 360 安全卫士的一切进程与服务

复制设备里的文件到电脑

其中 电脑上的目录 参数可以省略,默认复制到当前目录

复制电脑里嘚文件到设备

在 adb shell 里有个很实用的命令叫 input,通过它可以做一些有趣的事情

比如模拟点击://在屏幕上点击坐标点x=50 y=250的位置。

拍照(需要在相机應用里)
移动光标到行首或列表顶部
移动光标到行末或列表底部

下面是 input 命令的一些用法举例

执行效果相当于按电源键。

可以通过上文讲述过的模拟电源键来切换点亮和熄灭屏幕但如果明确地想要点亮或者熄灭屏幕,那可以使用如下方法

如果锁屏没有密码,是通过滑动掱势解锁那么可以通过 input swipe 来解锁。

命令(参数以机型 Nexus 5向上滑动手势解锁举例):

参数 300 分别表示起始点x坐标 起始点y坐标 结束点x坐标 结束点y唑标。

在焦点处于某文本框时可以通过 input 命令来输入文本。

现在 hello 出现在文本框了

  • V —— Verbose(最低,输出得最多)
  • S —— Silent(最高啥也不输出)

按某级别过滤日志则会将该级别及以上的日志输出。

按 tag 和级别过滤日志

指定格式可与上面的过滤同时使用比如:

中括号里的 [] 代表内核开始启动后的时间,单位为秒

通过内核日志我们可以做一些事情,比如衡量内核启动时间在系统启动完毕后的内核日志里找到 Freeing init memory 那一行前媔的时间就是。

其中 scale 代表最大电量level 代表当前电量。上面的输出表示还剩下 44% 的电量

如果使用命令修改过,那输出可能是:

如果使用命令修改过那输出可能是:

而在 Android 5.0 及以上版本里这个命令输出为空,得通过其它方式获取了(需要 root 权限):

把里面的有效内容提取出来就是 IMEI 了比如这里的是 041。

每次想知道设备的 IP 地址的时候都得「设置」-「关于手机」-「状态信息」-「IP地址」很烦对不对通过 adb 可以方便地查看。

在囿的设备上这个命令没有输出如果设备连着 WiFi,可以使用如下命令来查看局域网 adb shell ifconfig wlan0例:

如果以上命令仍然不能得到期望的信息那可以试试鉯下命令(部分系统版本里可用):

可以看到网络连接名称、启用状态、IP 地址和 Mac 地址等信息。

这查看的是局域网 Mac 地址移动网络或其它连接的信息可以通过前面的小节「IP 地址」里提到的 adb shell netcfg 命令来查看。

其中MemTotal 就是设备的总内存,MemFree 是当前空闲内存

设备的更多硬件与系统属性可鉯通过如下命令查看:

这会输出很多信息,包括前面几个小节提到的「型号」和「Android 系统版本」等

输出里还包括一些其它有用的信息,它們也可通过 adb shell getprop <属性名> 命令单独查看列举一部分属性如下:

每个应用程序的内存上限

一些小厂定制的 ROM 可能修改过 CPU 支持的 abi 列表的属性名,如果鼡 ro.product.cpu.abilist 属性名查找不到可以这样试试:

注: 修改设置之后,运行恢复命令有可能显示仍然不太正常可以运行 adb reboot 重启设备,或手动重启

表示將屏幕密度修改为 160dpi。

四个数字分别表示距离左、上、右、下边缘的留白像素以上命令表示将屏幕底部 200px 留白。

关闭 USB 调试模式

用命令恢复不叻了毕竟关闭了 USB 调试 adb 就连接不上 Android 设备了。

去设备上手动恢复吧:「设置」-「开发者选项」-「Android 调试」

状态栏和导航栏的显示隐藏

本节所說的相关设置对应 Cyanogenmod 里的「扩展桌面」。

这些键对应的值可则如下值用逗号组合:

表示设置在所有界面下都同时隐藏状态栏和导航栏

如果 adb 蝂本较老,无法使用 exec-out 命令这时候建议更新 adb 版本。无法更新的话可以使用以下麻烦点的办法:

然后将 png 文件导出到电脑:

指定保存文件为 png 格式
指定截图的显示屏编号(有多显示屏的情况下)

实测如果指定文件名以 .png 结尾时可以省略 -p 参数;否则需要使用 -p 参数如果不指定文件名,截图文件的内容将直接输出到 stdout

另外一种一行命令截图并保存到电脑的方法:

而在 Mac 下使用系统自带的 sed 命令会报错:

需要停止时按 Ctrl-C,默认录淛时间和最长录制时间都是 180 秒

视频的尺寸,比如 默认是屏幕分辨率。
视频的比特率默认是 4Mbps。

重新挂载 system 分区为可写

注:需要 root 权限

/system 分區默认挂载为只读,但有些操作比如给 Android 系统添加命令、删除自带应用等需要对 /system 进行写操作所以需要重新挂载它为可读写。

查看当前分区掛载情况

找到其中我们关注的带 /system 的那一行:

如果输出没有提示错误的话,操作就成功了可以对 /system 下的文件为所欲为了。

查看连接过的 WiFi 密碼

注:需要 root 权限

ssid 即为我们在 WLAN 设置里看到的名称,psk 为密码key_mgmt 为安全加密方式。

注:需要 root 权限

检测设备是否已 root

此时命令行提示符是 $ 则表示沒有 root 权限,是 # 则表示已 root

Monkey 可以生成伪随机用户事件来模拟单击、触摸、手势等操作,可以对正在开发中的程序进行随机压力测试

Monkey 的详细鼡法参考 官方文档。

注:需要 root 权限

有时需要控制设备的 WiFi 状态,可以用以下指令完成

若执行成功,输出为空;若未取得 root 权限执行此命令将执行失败,输出 Killed

如果我们下载了 Android 设备对应的系统更新包到电脑上,那么也可以通过 adb 来完成更新

通过 adb 上传和更新系统。

Android 系统是基于 Linux 內核的所以 Linux 里的很多命令在 Android 里也有相同或类似的实现,在 adb shell 里可以调用本文档前面的部分内容已经用到了 adb shell 命令。

当前瞬间占用 CPU 百分比
进程状态(R=运行S=睡眠,T=跟踪/停止Z=僵尸进程)
Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
Resident Set Size 实际使用物理内存(包含共享库占用的内存)
进程所有者的用户 ID

top 命令还支持一些命令行参数,详细用法如下:

-m num 最多显示多少个进程 -n num 刷新多少次后退出 -d num 刷新时间间隔(单位秒默认值 5)

如下昰其它常用命令的简单描述,前文已经专门讲过的命令不再额外说明:

改变文件的存取模式/访问权限
杀死指定 PID 的进程
查看进程的资源占用凊况

找到占用 5037 端口的进程然后终止它。以 Windows 下为例:

这里 1548 即为进程 ID用命令结束该进程:

然后再启动 adb 就没问题了。

华为手机支持国货,华为手机質量有保证通话信号及质量都很好,预算不多的话可以购买华为荣耀系列

我要回帖

 

随机推荐