Android安卓adb命令相关 大全

pull 到电脑的当前路径下


push 到安卓系统文件路径

查看sdcard剩余存储空间 检查文件系统的磁盘空间占用情况。

adb shell df 

格式:df [选项]     说明:df命令可显示所有文件系统对I节点和磁盘块的使用情况。

命令中各个选项的含义:

df -a:显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统。

df -h:以容易理解的格式输出文件系统大小,例如124KB、345MB、46GB。

df -i:显示i节点信息,而不是磁盘块。

df -t:显示各指定类型的文件系统的磁盘空间使用情况。

df -x:列出不是某一指定类型文件系统的磁盘空间使用情况。

df -T:显示文件系统类型。

df 以512字节为单位

df –k 以1024字节为单位.



adb logcat  命令,这个命令会输出Log的格式为:

日志时间,进程号,线程号,Log级别,TAG(标签),Log内容


感谢其他作者:主干来源简书作者ps命令部分 来自简书

shell 是(壳)交互,例如:你用Windows系统连接安卓手机,但是你不能直接通过Windows命令操作 Android系统

adb 命令是什么?adb的全称为Android Debug Bridge.是android司机经常用到的工具.


adb devices -l    查看连接到pc设备的手机 序列号、型号、名称、传输id,然后通过:adb -s <串列号>shell 指定设备,什么时候使用这个命令,当一个电脑连接多个手机时,分别操作:如下图序列号是33301995 。就是说:当多手机共同连接你的pc时,你想要操作手机时,先告诉电脑你选的那个序列号,如果只有一个设备,不需要指定,就是默认的;操作如下

如果 grep不是内部或外部命令,grep是Linux系统窗口的查找命令,说明 不是在 bash窗口或者 虚拟的Linux环境的窗口 比如Cygwin;这样就只好用 Windows 的 findstr

adb install :将电脑上的apk包安装到手机上

格式:adb  install  -参数  "路径下\包名"        注意命令间的一个空格,参数可省略,参数起到权限和强制安装的作用,如果你的手机,权限比较放开了,不加参数也可以。因地制宜!

例如:adb  install   -t   C:\Program Files\ss.apk 没加双引好可能会报错,提示找不到路径

例如:adb install -t "C:\Program Files\ss.apk"

官方参数解释  -l: forward lock application、-r: replace existing application、-t: allow test packages、-i: specify the installer package name、-s: install application on sdcard、-f: install application on internal flash、-d: allow version code downgrade (debuggable packages only)、-p: partial application install、-g: grant all runtime permissions、-S: size in bytes of entire session

pc连接手机后,如何进入 手机,输入adb shell  。如下;进入root,需要先 adb root

如果fiddler来不及修改数据,就用adb pull 下来 里面network 的数据,这里就是网络云控配置的 数据  ,pull命令 需要root手机;


华丽分割线,前面我还没写完,后面copy其他作者的和自己补充的,统一补全,方便Crtl+F查找



一. 基本指令

进入指定设备 adb -s serialNumber shell (注解:serialNumber 是序列号 见第一张图)

查看版本 adb version

查看日志 adb logcat

查看设备 adb devices

连接状态 adb get-state

启动ADB服务 adb start-server

停止ADB服务 adb kill-server

电脑推送到手机 adb push local remote

手机拉取到电脑 adb pull remote local

二. adb shell下的am 与 pm 与 ps

注:am和pm和ps命令必须先进入shell(先输入  adb shell) 才能使

更强劲的博客

am全称activity manager,可以启动Service、Broadcast,杀进程,监控等功能你能使用am去模拟各种系统的行为,例如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等等。

启动app :am start -n {packageName}/.{activityName}

杀app的进程 :am kill

强制停止一切:am force-stop

启动服务:am startservice

停止服务: am stopservice

打开简书 :am start -a android.intent.action.VIEW -d http://www.jianshu.com/

拨打10086 :am start -a android.intent.action.CALL -d tel:10086

介绍adb shell中一个很重要的命令pm(Package Manager),这个命令主要用于获取和安装在 Android 设备上的应用信息

windows PC 查找 :findstr            --------------            linux PC 查找:grep

adb shell pm

      pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]

                                                        adb shell pm list package 列出所有应用                                                                                                  adb shell pm list package -3 列出第三方应用                                                                adb shell pm list instrumentation 列出所有测试包

      pm list permission-groups

      pm list permissions [-g] [-f] [-d] [-u] [GROUP]

      pm list instrumentation [-f] [TARGET-PACKAGE]

      pm list features

      pm list libraries

      pm list users

      pm path PACKAGE

      pm dump PACKAGE

      pm install [-lrtsfd] [-i PACKAGE] [PATH]

      pm install-create [-lrtsfdp] [-i PACKAGE] [-S BYTES]

      pm install-write [-S BYTES] SESSION_ID SPLIT_NAME [PATH]

      pm install-commit SESSION_ID

      pm install-abandon SESSION_ID

      pm uninstall [-k] [--user USER_ID] PACKAGE

      pm set-installer PACKAGE INSTALLER

      pm clear [--user USER_ID] PACKAGE

      pm enable [--user USER_ID] PACKAGE_OR_COMPONENT

      pm disable [--user USER_ID] PACKAGE_OR_COMPONENT

      pm disable-user [--user USER_ID] PACKAGE_OR_COMPONENT

      pm disable-until-used [--user USER_ID] PACKAGE_OR_COMPONENT

      pm hide [--user USER_ID] PACKAGE_OR_COMPONENT

      pm unhide [--user USER_ID] PACKAGE_OR_COMPONENT

      pm grant PACKAGE PERMISSION

      pm revoke PACKAGE PERMISSION

      pm set-install-location [0/auto] [1/internal] [2/external]

      pm get-install-location

      pm set-permission-enforced PERMISSION [true|false]

      pm trim-caches DESIRED_FREE_SPACE

      pm create-user [--profileOf USER_ID] [--managed] USER_NAME

      pm remove-user USER_ID

      pm get-max-users

官方英文描述

pm list packages: prints all packages, optionally only

  those whose package name contains the text in FILTER.  Options:

    -f: see their associated file.

    -d: filter to only show disbled packages.

    -e: filter to only show enabled packages.

    -s: filter to only show system packages.

    -3: filter to only show third party packages.

    -i: see the installer for the packages.

    -u: also include uninstalled packages.

pm list permission-groups: prints all known permission groups.

pm list permissions: prints all known permissions, optionally only

  those in GROUP.  Options:

    -g: organize by group.

    -f: print all information.

    -s: short summary.

    -d: only list dangerous permissions.

    -u: list only the permissions users will see.

pm list instrumentation: use to list all test packages; optionally

  supply <TARGET-PACKAGE> to list the test packages for a particular

  application.  Options:

    -f: list the .apk file for the test package.

pm list features: prints all features of the system.

pm list users: prints all users on the system.

pm path: print the path to the .apk of the given PACKAGE.

pm dump: print system state associated with the given PACKAGE.

pm install: install a single legacy package

pm install-create: create an install session

    -l: forward lock application

    -r: replace existing application

    -t: allow test packages

    -i: specify the installer package name

    -s: install application on sdcard

    -f: install application on internal flash

    -d: allow version code downgrade

    -p: partial application install

    -S: size in bytes of entire session

pm install-write: write a package into existing session; path may

  be '-' to read from stdin

    -S: size in bytes of package, required for stdin

pm install-commit: perform install of fully staged session

pm install-abandon: abandon session

pm set-installer: set installer package name

pm uninstall: removes a package from the system. Options:

    -k: keep the data and cache directories around after package removal.

pm clear: deletes all data associated with a package.

pm enable, disable, disable-user, disable-until-used: these commands

  change the enabled state of a given package or component (written

  as "package/class").

pm grant, revoke: these commands either grant or revoke permissions

  to applications.  Only optional permissions the application has

  declared can be granted or revoked.

pm get-install-location: returns the current install location.

    0 [auto]: Let system decide the best location

    1 [internal]: Install on internal device storage

    2 [external]: Install on external media

pm set-install-location: changes the default install location.

  NOTE: this is only intended for debugging; using this can cause

  applications to break and other undersireable behavior.

    0 [auto]: Let system decide the best location

    1 [internal]: Install on internal device storage

    2 [external]: Install on external media

pm trim-caches: trim cache files to reach the given free space.

pm create-user: create a new user with the given USER_NAME,

  printing the new user identifier of the user.

pm remove-user: remove the user with the given USER_IDENTIFIER,

  deleting all data associated with that user




adb shell ps(Process status )查看进程状态的命令,该命令显示瞬间进程的状态

简单用法,直接adb shell ps命令

$ adb shell ps --help

usage: ps [-AadefLlnwZ] [-gG GROUP,] [-k FIELD,] [-o FIELD,] [-p PID,] [-t TTY,] [-uU USER,]

List processes.

Which processes to show (selections may be comma separated lists):

-A      All processes

-a      Processes with terminals that aren't session leaders

-d      All processes that aren't session leaders

-e      Same as -A

-g      Belonging to GROUPs

-G      Belonging to real GROUPs (before sgid)

-p      PIDs (--pid)

-P      Parent PIDs (--ppid)

-s      In session IDs

-t      Attached to selected TTYs

-T      Show threads

-u      Owned by USERs

-U      Owned by real USERs (before suid)

Output modifiers:

-k      Sort FIELDs in +increasing or -decreasting order (--sort)

-M      Measure field widths (expanding as necessary)

-n      Show numeric USER and GROUP

-w      Wide output (don't truncate fields)

Which FIELDs to show. (Default = -o PID,TTY,TIME,CMD)

-f      Full listing (-o USER:12=UID,PID,PPID,C,STIME,TTY,TIME,ARGS=CMD)

-l      Long listing (-o F,S,UID,PID,PPID,C,PRI,NI,ADDR,SZ,WCHAN,TTY,TIME,CMD)

-o      Output FIELDs instead of defaults, each with optional :size and =title

-O      Add FIELDS to defaults

-Z      Include LABEL

Command line -o fields:

  ARGS    CMDLINE minus initial path    CMD  Command (thread) name (stat[2])

  CMDLINE  Command line (argv[])          COMM Command filename (/proc/$PID/exe)

  COMMAND  Command file (/proc/$PID/exe)  NAME Process name (argv[0] of $PID)

Process attribute -o FIELDs:

  ADDR  Instruction pointer              BIT  Is this process 32 or 64 bits

  CPU  Which processor running on        ETIME  Elapsed time since PID start

  F    Flags (1=FORKNOEXEC 4=SUPERPRIV)  GID    Group id

  GROUP Group name                        LABEL  Security label

  MAJFL Major page faults                MINFL  Minor page faults

  NI    Niceness (lower is faster)

  PCPU  Percentage of CPU time used      PCY    Android scheduling policy

  PGID  Process Group ID

  PID  Process ID                        PPID    Parent Process ID

  PRI  Priority (higher is faster)      PSR    Processor last executed on

  RGID  Real (before sgid) group ID      RGROUP  Real (before sgid) group name

  RSS  Resident Set Size (pages in use)  RTPRIO  Realtime priority

  RUID  Real (before suid) user ID        RUSER  Real (before suid) user name

  S    Process state:

        R (running) S (sleeping) D (device I/O) T (stopped)  t (traced)

        Z (zombie)  X (deader)  x (dead)      K (wakekill) W (waking)

  SCHED Scheduling policy (0=other, 1=fifo, 2=rr, 3=batch, 4=iso, 5=idle)

  STAT  Process state (S) plus:

        < high priority          N low priority L locked memory

        s session leader        + foreground  l multithreaded

  STIME Start time of process in hh:mm (size :19 shows yyyy-mm-dd hh:mm:ss)

  SZ    Memory Size (4k pages needed to completely swap out process)

  TCNT  Thread count                      TID    Thread ID

  TIME  CPU time consumed                TTY    Controlling terminal

  UID  User id                          USER    User name

  VSZ  Virtual memory size (1k units)    %VSZ    VSZ as % of physical memory

  WCHAN What are we waiting in kernel for



示例:

localhost:~ name$ adb shell ps

USER      PID  PPID  VSIZE  RSS  WCHAN              PC  NAME

root      1    0    5368  1492  SyS_epoll_ 0000000000 S /init

root      2    0    0      0      kthreadd 0000000000 S kthreadd

root      3    2    0      0    smpboot_th 0000000000 S ksoftirqd/0

root      5    2    0      0    worker_thr 0000000000 S kworker/0:0H

root      7    2    0      0    smpboot_th 0000000000 S migration/0

root      8    2    0      0    rcu_gp_kth 0000000000 S rcu_preempt

root      9    2    0      0    rcu_gp_kth 0000000000 S rcu_bh

root      56    2    0      0    down_timeo 0000000000 D blackbox_main_t

shell    14905 4519  5996  1312          0 7f9b3f4114 R ps

各字段的含义:

USER进程当前用户

PID进程ID

PPID父进程ID

VSIZE进程的虚拟内存大小,以KB为单位

RSS实际占用的内存大小,以KB为单位

WCHAN进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。

PCProgram Counter

NAME进程状态及名称

休眠进程:这个是进程的状态,从上面打印的内容中可看出进程的状态

进程状态有不同的值:

D - 不可中断的睡眠态。

R – 运行态

S – 睡眠态

T – 被跟踪或已停止

Z – 僵尸态

W -  进入内存交换(从内核2.6开始无效)

X  - 死掉的进程

< -  高优先级

N  -  低优先级

L  - 有些页被锁进内存

s  -  包含子进程

l  -  多线程,克隆线程

*+ - 位于后台的进程组                  *

program counter:计算机中提供要从[存储器]中取出的下一个指令地址的[寄存器]

ps 命令参数:-P -p -t -x -c [pid] [name]

-P 显示调度策略,通常是bg或fg,当获取失败将会是un和er

-p 显示进程的优先级和nice等级

-t 显示进程下的线程列表

-x 显示进程耗费的用户时间和系统时间,格式:(u:0, s:0),单位:秒(s)

-c 显示进程耗费的CPU时间 (可能不兼容Android 4.0以前的老版本系统)

[pid] 过滤指定的进程PID

[name] 过滤指定的进程NAME

ps xxx 显示过滤指定名称的进程

和Linux的ps不同,Linux的ps命令可以这样子:ps -aux,Android上ps的参数并不能一起使用,如ps -txPc.

查看进程调度等级

localhost:~ name$adb shell ps -P

USER      PID  PPID  VSIZE  RSS  PCY WCHAN              PC  NAME

root      1    0    5368  1492  fg  SyS_epoll_ 0000000000 S /init

root      3056  1    4280  476  tv  SyS_epoll_ 0000000000 S /sbin/healthd

u0_a58    5183  3261  1939580 86688 bg  SyS_epoll_ 0000000000 S com.huawei.secime

比之前打印的内容多出了一列PCY,表示进程的调度等级

Android进程调度状态:

1.foreground process

2.visible process

3.Service process

4.background process

5.empty process

作者:IT枫

链接:https://www.jianshu.com/p/d18ed08b40c4

來源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

三. 模拟用户事件

文本输入:adb shell input text

例:手机端输出demo字符串,相应指令:adb shell input "demo".

键盘事件:input keyevent ,其中KEYCODE见本文结尾的附表

例:点击返回键,相应指令: input keyevent 4.

点击事件:input tap

例: 点击坐标(500,500),相应指令: input tap 500 500.

滑动事件: input swipe

例: 从坐标(300,500)滑动到(100,500),相应指令: input swipe 300 500 100 500.

例: 200ms时间从坐标(300,500)滑动到(100,500),相应指令: input swipe 300 500 100 500 200.

循环 shell命令:

android adb shell循环模拟点击

四. logcat日志

显示包含的logcat logcat \| grep

显示包含,并忽略大小写的logcat logcat \| grep -i

读完所有log后返回,而不会一直等待 logcat -d

清空log并退出 logcat -c

打印最近的count logcat -t

格式化输出Log,其中format有如下可选值: logcat -v

brief — 显示优先级/标记和原始进程的PID (默认格式)

process — 仅显示进程PID

tag — 仅显示优先级/标记

thread — 仅显示进程:线程和优先级/标记

raw — 显示原始的日志信息,没有其他的元数据字段

time — 显示日期,调用时间,优先级/标记,PID

long —显示所有的元数据字段并且用空行分隔消息内容

五. 常用节点

查看节点值,例如:cat /sys/class/leds/lcd-backlight/brightness

修改节点值,例如:echo 128 > sys/class/leds/lcd-backlight/brightness

LPM: echo N > /sys/modue/lpm_levels/parameters/sleep_disabled

亮度:/sys/class/leds/lcd-backlight/brightness

CPU: /sys/devices/system/cpu/cpu0/cpufreq

GPU: /sys/class/ kgsl/kgsl-3d0/gpuclk

限频:cat /data/pmlist.config

电流: cat /sys/class/power_supply/battery/current_now

查看Power: dumpsys power

WIFI :data/misc/wifi/wpa_supplicant.conf

持有wake_lock: echo a> sys/power/wake_lock

释放wake_lock:echo a> sys/power/wake_unlock

查看Wakeup_source: cat sys/kernel/debug/wakeup_sources

Display(关闭AD):mv /data/misc/display/calib.cfg /data/misc/display/calib.cfg.bak 重启

关闭cabc:echo 0 > /sys/device/virtual/graphics/fb0/cabc_onoff

打开cabc:echo 3 > /sys/device/virtual/graphics/fb0/cabc_onoff

systrace:sdk/tools/monitor

限频:echo /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 1497600

当出现read-only 且 remount命令不管用时:adb shell mount -o rw,remount /

进入9008模式: adb reboot edl

查看高通gpio:sys/class/private/tlmm 或者 sys/private/tlmm

查看gpio占用情况:sys/kernle/debug/gpio

六. 远程ADB

为避免使用数据线,可通过wifi通信,前提是手机与PC处于同一局域网

启动方法:

adb tcpip5555//这一步,必须通过数据线把手机与PC连接后再执行  adb connect <手机IP>

停止方法:

adb disconnect//断开wifi连接adb usb//切换到usb模式

七. 常用操作示例

查看当前 ls

打印当前路径 pwd

查看当前连接的设备 adb devices

终止adb服务进程 adb kill-server

重启adb服务进程 adb start-server

PID是:8607 查看某个进程的日志 adb logcat -v process |grep 8607

清理缓存 logcat -c

打印xys标签log adb logcat -s xys

打印192.168.56.101:5555设备里的xys标签log adb -s 192.168.56.101:5555 logcat -s xys

打印在ActivityManager标签里包含start的日志 adb logcat -s ActivityManager | findstr "START"

"-s"选项 : 设置输出日志的标签, 只显示该标签的日志;

"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;

"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;

"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;

"-v"选项 : 设置日志的输出格式, 注意只能设置一项;

"-c"选项 : 清空所有的日志缓存信息;

"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;

"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;

"-g"选项 : 查看日志缓冲区信息;

"-b"选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;

"-B"选项 : 以二进制形式输出日志;

重启机器 adb reboot

获取序列号 adb get-serialno

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

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

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

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

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

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

启动应用:adb shell am start -n /. 例如:adb shell am start -n yf.o2o.store/yf.o2o.store.activity.LoginActivity

查看占用内存排序 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

从设备复制文件到本地: adb pull

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

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

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

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

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

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

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

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

查看文件内容:adb shell cat

查看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

adb -s 192.168.244.151:5555 shell monkey -v -p com.bolexim 500

八.附表

下表中, 箭头左边为keycode值,箭头右边为keycode的含义,部分用中文标注

0–> “KEYCODE_UNKNOWN”

1–> “KEYCODE_MENU”

2–> “KEYCODE_SOFT_RIGHT”

3–> “KEYCODE_HOME”//Home键

4–> “KEYCODE_BACK”//返回键

5–> “KEYCODE_CALL”

6–> “KEYCODE_ENDCALL”

7–> “KEYCODE_0”//数字键0

8–> “KEYCODE_1”

9–> “KEYCODE_2”

10–> “KEYCODE_3”

11–> “KEYCODE_4”

12–> “KEYCODE_5”

13–> “KEYCODE_6”

14–> “KEYCODE_7”

15–> “KEYCODE_8”

16–> “KEYCODE_9”

17–> “KEYCODE_STAR”

18–> “KEYCODE_POUND”

19–> “KEYCODE_DPAD_UP”

20–> “KEYCODE_DPAD_DOWN”

21–> “KEYCODE_DPAD_LEFT”

22–> “KEYCODE_DPAD_RIGHT”

23–> “KEYCODE_DPAD_CENTER”

24–> “KEYCODE_VOLUME_UP”//音量键+

25–> “KEYCODE_VOLUME_DOWN”//音量键-

26–> “KEYCODE_POWER”//Power键

27–> “KEYCODE_CAMERA”

28–> “KEYCODE_CLEAR”

29–> “KEYCODE_A”//字母键A

30–> “KEYCODE_B”

31–> “KEYCODE_C”

32–> “KEYCODE_D”

33–> “KEYCODE_E”

34–> “KEYCODE_F”

35–> “KEYCODE_G”

36–> “KEYCODE_H”

37–> “KEYCODE_I”

38–> “KEYCODE_J”

39–> “KEYCODE_K”

40–> “KEYCODE_L”

41–> “KEYCODE_M”

42–> “KEYCODE_N”

43–> “KEYCODE_O”

44–> “KEYCODE_P”

45–> “KEYCODE_Q”

46–> “KEYCODE_R”

47–> “KEYCODE_S”

48–> “KEYCODE_T”

49–> “KEYCODE_U”

50–> “KEYCODE_V”

51–> “KEYCODE_W”

52–> “KEYCODE_X”

53–> “KEYCODE_Y”

54–> “KEYCODE_Z”

55–> “KEYCODE_COMMA”

56–> “KEYCODE_PERIOD”

57–> “KEYCODE_ALT_LEFT”

58–> “KEYCODE_ALT_RIGHT”

59–> “KEYCODE_SHIFT_LEFT”

60–> “KEYCODE_SHIFT_RIGHT”

61-> “KEYCODE_TAB”

62–> “KEYCODE_SPACE”

63–> “KEYCODE_SYM”

64–> “KEYCODE_EXPLORER”

65–> “KEYCODE_ENVELOPE”

66–> “KEYCODE_ENTER”//回车键

67–> “KEYCODE_DEL”

68–> “KEYCODE_GRAVE”

69–> “KEYCODE_MINUS”

70–> “KEYCODE_EQUALS”

71–> “KEYCODE_LEFT_BRACKET”

72–> “KEYCODE_RIGHT_BRACKET”

73–> “KEYCODE_BACKSLASH”

74–> “KEYCODE_SEMICOLON”

75–> “KEYCODE_APOSTROPHE”

76–> “KEYCODE_SLASH”

77–> “KEYCODE_AT”

78–> “KEYCODE_NUM”

79–> “KEYCODE_HEADSETHOOK”

80–> “KEYCODE_FOCUS”

81–> “KEYCODE_PLUS”

82–> “KEYCODE_MENU”

83–> “KEYCODE_NOTIFICATION”

84–> “KEYCODE_SEARCH”

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 193,968评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,682评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,254评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,074评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,964评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,055评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,484评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,170评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,433评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,512评论 2 308
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,296评论 1 325
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,184评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,545评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,150评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,437评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,630评论 2 335

推荐阅读更多精彩内容