作者 :万境绝尘  转载请著名出处

eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb logcat 在终端查看日志;

1. 解析 adb logcat 的帮助信息

在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息;

  1. octopus@octopus:~$ adb logcat --help
  2. Usage: logcat [options] [filterspecs]
  3. options include:
  4. -s              Set default filter to silent.
  5. Like specifying filterspec '*:s'
  6. -f <filename>   Log to file. Default to stdout
  7. -r [<kbytes>]   Rotate log every kbytes. (16 if unspecified). Requires -f
  8. -n <count>      Sets max number of rotated logs to <count>, default 4
  9. -v <format>     Sets the log print format, where <format> is one of:
  10. brief process tag thread raw time threadtime long
  11. -c              clear (flush) the entire log and exit
  12. -d              dump the log and then exit (don't block)
  13. -t <count>      print only the most recent <count> lines (implies -d)
  14. -g              get the size of the log's ring buffer and exit
  15. -b <buffer>     Request alternate ring buffer, 'main', 'system', 'radio'
  16. or 'events'. Multiple -b parameters are allowed and the
  17. results are interleaved. The default is -b main -b system.
  18. -B              output the log in binary
  19. filterspecs are a series of
  20. <tag>[:priority]
  21. where <tag> is a log component tag (or * for all) and priority is:
  22. V    Verbose
  23. D    Debug
  24. I    Info
  25. W    Warn
  26. E    Error
  27. F    Fatal
  28. S    Silent (supress all output)
  29. '*' means '*:d' and <tag> by itself means <tag>:v
  30. If not specified on the commandline, filterspec is set from ANDROID_LOG_TAGS.
  31. If no filterspec is found, filter defaults to '*:I'
  32. If not specified with -v, format is set from ANDROID_PRINTF_LOG
  33. or defaults to "brief"

adb logcat 命令格式 : adb logcat [选项] [过滤项], 其中 选项 和 过滤项 在 中括号 [] 中, 说明这是可选的;

(1) 选项解析

选项解析 :

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

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

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

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

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

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

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

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

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

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

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

.

输出指定标签内容 :

-- "-s"选项 : 设置默认的过滤器, 如 我们想要输出 "System.out" 标签的信息, 就可以使用adb logcat -s System.out 命令;

  1. octopus@octopus:~$ adb logcat -s System.out
  2. --------- beginning of /dev/log/system
  3. --------- beginning of /dev/log/main
  4. I/System.out(22930): GSM -91
  5. I/System.out(22930): SignalStrength issssssssss : -91
  6. I/System.out(22930): GSM -91
  7. I/System.out(22930): SignalStrength issssssssss : -91
  8. I/System.out(22930): Supervisor Thread
  9. I/System.out(22930): Got run mode

输出日志信息到文件 :

-- "-f"选项 : 该选向后面跟着输入日志的文件, 使用adb logcat -f /sdcard/log.txt 命令, 注意这个log文件是输出到手机上,需要指定合适的路径。

  1. octopus@octopus:~$ adb logcat -f /sdcard/log.txt

这个参数对对不能一直用电脑连着手机收集日志的场景非常有用,其实android shell下也有一个相同参数的logcat命令。使用如下命令可以执行后断开PC和手机持续收集LOG。

  1. shell@pc$ adb shell
  2. shell@android$ logcat -f /sdcard/log.txt &   #这里的&符号表示后台执行,别少了。
  3. shell@android$ exit

注:

(1)以上shell@pc$ 指在pc的shell终端执行后边的命令, shell@android$ 表示在手机shell中执行后边的命令l

(2)一定注意合适的时候需要停止掉以上命令,否则再次使用相同命令的时候,就会有两个logcat写同一个文件了

停止方法:  adb shell kill -9 <logcat_pid>

其中logcat_pid 通过 如下命令获取

adb shell ps | grep logcat          # linux 平台

adb shell ps | findstr "logcat"    #Windows平台

-- ">"输出 : ">" 后面跟着要输出的日志文件, 可以将 logcat 日志输出到文件中, 使用adb logcat > log 命令, 使用more log 命令查看日志信息;

  1. octopus@octopus:~$ adb logcat > log
  2. ^C
  3. octopus@octopus:~$ more log
  4. --------- beginning of /dev/log/system
  5. V/ActivityManager(  500): We have pending thumbnails: null
  6. V/ActivityManager(  500): getTasks: max=1, flags=0, receiver=null
  7. V/ActivityManager(  500): com.android.settings/.Settings: task=TaskRecord{42392278 #448 A com.android.settings U 0}
  8. V/ActivityManager(  500): We have pending thumbnails: null

-- " -d -f <log>" 组合命令:可以将日志保存到手机上的指定位置,对不能一直用电脑连着手机收集日志的场景非常有用。

  1. adb logcat -d -v /sdcard/mylog.txt

指定 logcat 的日志输出格式 :

-- "-v"选项 : 使用adb logcat -v time 命令, 可以啥看日志的输出时间;

使用adb logcat -v threadtime 命令, 可以啥看日志的输出时间和线程信息;

-- "brief"格式 : 这是默认的日志格式" 优先级 / 标签 (进程ID) : 日志信息 ", 使用adb logcat -v prief 命令;

  1. octopus@octopus:~$ adb logcat -v brief
  2. --------- beginning of /dev/log/system
  3. D/PowerManagerService(  500): handleSandman: canDream=true, mWakefulness=Awake
  4. D/PowerManagerService(  500): releaseWakeLockInternal: lock=1101267696, flags=0x0

-- "process"格式 : " 优先级 (进程ID) : 日志信息 ", 使用adb logcat -v process 命令;

  1. octopus@octopus:~$ adb logcat -v process
  2. --------- beginning of /dev/log/system
  3. D(  500) MobileDataStateReceiver received: ACTION_ANY_DATA_CONNECTION_STATE_CHANGED_MOBILE [wap]  (MobileDataStateTracker)
  4. V(  500) Broadcast: Intent { act=android.intent.action.ANY_DATA_STATE_MOBILE flg=0x10 (has extras) } ordered=true userid=0  (ActivityManager)
  5. D(  500) wap: Intent from SIM 0, current SIM 0, current DataState DISCONNECTED  (MobileDataStateTracker)
  6. D(  500) wap: wap setting isAvailable to false  (MobileDataStateTracker)
  7. D(  500) wap: Received state=DISCONNECTED, old=DISCONNECTED, reason=dataDetached  (MobileDataStateTracker)
  8. D(  500) BDC-Calling finishReceiver: IIntentReceiver=41c46ba0  (ActivityThread)

-- "tag"格式 : " 优先级 / 标签 : 日志信息", 使用adb logcat -v tag 命令;

  1. octopus@octopus:~$ adb logcat -v tag
  2. --------- beginning of /dev/log/system
  3. I/PowerManagerService: setBrightness mButtonLight 0.
  4. D/PowerManagerService: updateScreenStateLocked: mDisplayReady=true, newScreenState=2, mWakefulness=1, mWakeLockSummary=0x1, mUserActivitySummary=0x1, mBootCompleted=true
  5. D/PowerManagerService: handleSandman: canDream=true, mWakefulness=Awake

-- "thread"格式 : " 优先级 ( 进程ID : 线程ID) 标签 : 日志内容 ", 使用adb logcat -v tag 命令;

  1. octopus@octopus:~$ adb logcat -v thread
  2. --------- beginning of /dev/log/system
  3. V(  500: 2141) getTasks: max=1, flags=0, receiver=null
  4. V(  500: 2141) com.lewa.launcher/.Launcher: task=TaskRecord{41dccc20 #425 A com.lewa.launcher U 0}
  5. V(  500: 2141) We have pending thumbnails: null
  6. V(  500: 2140) getTasks: max=1, flags=0, receiver=null

-- "raw"格式 : 只输出日志信息, 不附加任何其他 信息, 如 优先级 标签等, 使用adb logcat -v raw 命令;

  1. octopus@octopus:~$ adb logcat -v raw
  2. --------- beginning of /dev/log/system
  3. notifications are enabled for com.kindroid.security
  4. Assigned score=0 to Notification(pri=0 contentView=com.kindroid.security/0x7f030052 vibrate=null sound=null defaults=0x0 flags=0x2 kind=[null])
  5. Native set alarm :Alarm{41e1ca00 type 3 com.kindroid.security}
  6. reset poweroff alarm none

-- "time"格式 "日期 时间 优先级 / 标签 (进程ID) : 进程名称 : 日志信息 ", 使用adb logcat -v time 命令;

  1. octopus@octopus:~$ adb logcat -v time
  2. --------- beginning of /dev/log/system
  3. 04-25 17:18:13.019 V/ActivityManager(  500): Broadcast sticky: Intent { act=android.intent.action.SIG_STR flg=0x10 (has extras) } ordered=false userid=-1
  4. 04-25 17:18:13.157 V/NotificationService(  500): enqueueNotificationInternal: pkg=com.kindroid.security id=1020 notification=Notification(pri=0 contentView=com.kindroid.security/0x7f030052 vibrate=null sound=null defaults=0x0 flags=0x2 kind=[null])
  5. 04-25 17:18:13.158 V/NotificationService(  500): notifications are enabled for com.kindroid.security
  6. 04-25 17:18:13.158 V/NotificationService(  500): Assigned score=0 to Notification(pri=0 contentView=com.kindroid.security/0x7f030052 vibrate=null sound=null defaults=0x0 flags=0x2 kind=[null])
  7. 04-25 17:18:13.555 V/ActivityManager(  500): getTasks: max=1, flags=0, receiver=null

-- "long"格式:" [ 日期 时间 进程ID : 线程ID 优先级 / 标签] 日志信息 ", 输出以上提到的所有的头信息, 使用adb logcat -v long 命令;

  1. octopus@octopus:~$ adb logcat -v long
  2. --------- beginning of /dev/log/system
  3. [ 04-25 17:21:18.118   500:0x2fe V/ActivityManager ]
  4. We have pending thumbnails: null
  5. [ 04-25 17:21:18.696   593:0x251 W/ActivityThread ]
  6. Content provider com.android.providers.telephony.TelephonyProvider already published as telephony
  7. [ 04-25 17:21:19.119   500:0x396 V/ActivityManager ]
  8. getTasks: max=1, flags=0, receiver=null

清空日志缓存信息 : 使用 adb logcat -c 命令, 可以将之前的日志信息清空, 重新开始输出日志信息;

将缓存日志输出 : 使用 adb logcat -d 命令, 输出命令, 之后推出命令, 不会进行阻塞;

输出最近的日志 : 使用adb logcat -t 5 命令, 可以输出最近的5行日志, 并且不会阻塞;

  1. octopus@octopus:~$ adb logcat -t 5
  2. --------- beginning of /dev/log/system
  3. --------- beginning of /dev/log/main
  4. W/ADB_SERVICES(10028): adb: unable to open /proc/10028/oom_adj
  5. D/dalvikvm(23292): threadid=11: created from interp
  6. D/dalvikvm(23292): start new thread
  7. D/dalvikvm(23292): threadid=11: notify debugger
  8. D/dalvikvm(23292): threadid=11 (Thread-24538): calling run()
  9. octopus@octopus:~$

查看日志缓冲区信息 : 使用 adb logcat -g 命令;

  1. octopus@octopus:~$ adb logcat -g
  2. /dev/log/main: ring buffer is 256Kb (255Kb consumed), max entry is 5120b, max payload is 4076b
  3. /dev/log/system: ring buffer is 256Kb (255Kb consumed), max entry is 5120b, max payload is 4076b
  4. octopus@octopus:~$

加载日志缓冲区 : 使用 adb logcat -b 缓冲区类型 命令;

-- Android中的日志缓冲区 : system缓冲区 - 与系统相关的日志信息, radio缓冲区 - 广播电话相关的日志信息, events缓冲区 - 事件相关的日志信息, main缓冲区 - 默认的缓冲区;

  1. octopus@octopus:~$ adb logcat -b radio -t 5
  2. D/PHONE   (23599): [GeminiDataSubUtil] UAPP_C6-4
  3. D/GSM     (23599): [GDCT][simId1]apnType = default
  4. D/GSM     (23599): [GDCT][simId1]isDataAllowed: not allowed due to - gprs= 1 - SIM not loaded - desiredPowerState= false
  5. D/GSM     (23599): [GDCT][simId1]isDataPossible(default): possible=false isDataAllowed=false apnTypePossible=true apnContextisEnabled=true apnContextState()=IDLE
  6. I/MUXD    (23591): [gsm0710muxd] 3426:main(): Frames received/dropped: 18242/0
  7. octopus@octopus:~$
  8. octopus@octopus:~$ adb logcat -b main -t 5
  9. D/NotificationService(  500): notification.sound=null
  10. D/NotificationService(  500): mDmLock=false
  11. I/ATCIJ   (16576): Couldn't find 'atci-serv-fw' socket; retrying after timeout
  12. W/ADB_SERVICES(  246): create_local_service_socket() name=shell:export ANDROID_LOG_TAGS="" ; exec logcat -b main -t 5
  13. W/ADB_SERVICES(16815): adb: unable to open /proc/16815/oom_adj
  14. octopus@octopus:~$
  15. octopus@octopus:~$ adb logcat -b system -t 5
  16. D/PowerManagerService(  500): updateScreenStateLocked: mDisplayReady=true, newScreenState=0, mWakefulness=0, mWakeLockSummary=0x1, mUserActivitySummary=0x0, mBootCompleted=true
  17. D/PowerManagerService(  500): handleSandman: canDream=false, mWakefulness=Asleep
  18. V/NotificationService(  500): enqueueNotificationInternal: pkg=com.kindroid.security id=1020 notification=Notification(pri=0 contentView=com.kindroid.security/0x7f030052 vibrate=null sound=null defaults=0x0 flags=0x2 kind=[null])
  19. V/NotificationService(  500): notifications are enabled for com.kindroid.security
  20. V/NotificationService(  500): Assigned score=0 to Notification(pri=0 contentView=com.kindroid.security/0x7f030052 vibrate=null sound=null defaults=0x0 flags=0x2 kind=[null])
  21. octopus@octopus:~$
  22. octopus@octopus:~$ adb logcat -b event -t 5
  23. Unable to open log device '/dev/log/event': No such file or directory
  24. octopus@octopus:~$ adb logcat -b events -t 5
  25. I/notification_cancel(  500): [com.kindroid.security,1026,NULL,0,0,64]
  26. I/notification_enqueue(  500): [com.kindroid.security,1020,NULL,0,Notification(pri=0 contentView=com.kindroid.security/0x7f030052 vibrate=null sound=null defaults=0x0 flags=0x2 kind=[null])]
  27. I/notification_cancel(  500): [com.kindroid.security,1026,NULL,0,0,64]
  28. I/notification_enqueue(  500): [com.kindroid.security,1020,NULL,0,Notification(pri=0 contentView=com.kindroid.security/0x7f030052 vibrate=null sound=null defaults=0x0 flags=0x2 kind=[null])]
  29. I/notification_cancel(  500): [com.kindroid.security,1026,NULL,0,0,64]
  30. octopus@octopus:~$

以二进制形式输出日志 : 使用 adb logcat -B 命令;

  1. octopus@octopus:~$ adb logcat -B  -t 5
  2. O��_�3ZS�4gps_mt3326nmea_reader_parse: line = 1218GPS get accuracy failed, fix mode:1
  3. ^��_�3ZS�=gps_mt3326nmea_reader_addc: line = 1331the structure include nmea_cb address is 0x658cc8e8
  4. H��_�3ZSEGEgps_mt3326nmea_reader_addc: line = 1332nmea_cb address is 0x5d2fe279
  5. i���3ZS�)>ADB_SERVICEScreate_local_service_socket() name=shell:export ANDROID_LOG_TAGS="" ; exec logcat -B -t 5
  6. 7*E*E�3ZSo�YADB_SERVICESadb: unable to open /proc/17706/oom_adj

(2) 过滤项解析

过滤项格式 : <tag>[:priority] , 标签:日志等级, 默认的日志过滤项是 " *:I " ;

-- V : Verbose (明细);

-- D : Debug (调试);

-- I : Info (信息);

-- W : Warn (警告);

-- E : Error (错误);

-- F: Fatal (严重错误);

-- S : Silent(Super all output) (最高的优先级, 可能不会记载东西);

过滤指定等级日志 : 使用 adb logcat 10 *:E 命令, 显示 Error 以上级别的日志;

  1. octopus@octopus:~$ adb logcat *:E
  2. Note: log switch off, only log_main and log_events will have logs!
  3. --------- beginning of /dev/log/main
  4. E/WifiHW  (  441): wifi_send_command : SCAN_RESULTS ; interface index=0;
  5. E/WifiHW  (  441): wifi_send_command : AP_SCAN 1 ; interface index=0;
  6. E/WifiHW  (  441): wifi_send_command : SCAN_RESULTS ; interface index=0;
  7. E/dalvikvm(  756): GC_CONCURRENT freed 1809K, 27% free 19489K/26695K, paused 16ms+5ms, total 109ms
  8. E/WifiHW  (  441): wifi_send_command : SCAN ; interface index=0;
  9. E/WifiHW  (  441): wifi_send_command : AP_SCAN 1 ; interface index=0;
  10. E/WifiHW  (  441): wifi_send_command : SCAN_RESULTS ; interface index=0;
  11. E/dalvikvm(  756): GC_CONCURRENT freed 1820K, 27% free 19490K/26695K, paused 16ms+3ms, total 102ms
  12. E/WifiHW  (  441): wifi_send_command : AP_SCAN 1 ; interface index=0;
  13. E/WifiHW  (  441): wifi_send_command : SCAN_RESULTS ; interface index=0;

过滤指定标签等级日志 : 使用 adb logcat WifiHW:D *:S 命令进行过滤;

-- 命令含义 : 输出10条日志, 日志是 标签为 WifiHW, 并且优先级 Debug(调试) 等级以上的级别的日志;

--注意 *:S : 如果没有 *S 就会输出错误;

  1. octopus@octopus:~$ adb logcat WifiHW:D *:S
  2. Note: log switch off, only log_main and log_events will have logs!
  3. --------- beginning of /dev/log/main
  4. E/WifiHW  (  441): wifi_send_command : SCAN_RESULTS ; interface index=0;
  5. E/WifiHW  (  441): wifi_send_command : AP_SCAN 1 ; interface index=0;
  6. E/WifiHW  (  441): wifi_send_command : SCAN_RESULTS ; interface index=0;
  7. E/WifiHW  (  441): wifi_send_command : AP_SCAN 1 ; interface index=0;
  8. E/WifiHW  (  441): wifi_send_command : SCAN_RESULTS ; interface index=0;
  9. E/WifiHW  (  441): wifi_send_command : AP_SCAN 1 ; interface index=0;
  10. E/WifiHW  (  441): wifi_send_command : SCAN_RESULTS ; interface index=0;

可以同时设置多个过滤器 : 使用adb logcat WifiHW:D dalvikvm:I *:S 命令, 输出 WifiHW 标签 的 Debug 以上级别 和 dalvikvm 标签的 Info 以上级别的日志;

  1. octopus@octopus:~$ adb logcat WifiHW:D dalvikvm:I *:S
  2. Note: log switch off, only log_main and log_events will have logs!
  3. --------- beginning of /dev/log/main
  4. E/WifiHW  (  441): wifi_send_command : AP_SCAN 1 ; interface index=0;
  5. E/WifiHW  (  441): wifi_send_command : SCAN_RESULTS ; interface index=0;
  6. E/dalvikvm(  756): GC_CONCURRENT freed 1820K, 27% free 19490K/26695K, paused 17ms+2ms, total 110ms
  7. E/WifiHW  (  441): wifi_send_command : AP_SCAN 1 ; interface index=0;
  8. E/WifiHW  (  441): wifi_send_command : SCAN_RESULTS ; interface index=0;
  9. E/WifiHW  (  441): wifi_send_command : AP_SCAN 1 ; interface index=0;
  10. E/WifiHW  (  441): wifi_send_command : SCAN_RESULTS ; interface index=0;
  11. E/dalvikvm(  756): GC_CONCURRENT freed 1810K, 27% free 19489K/26695K, paused 17ms+5ms, total 108ms
  12. E/WifiHW  (  441): wifi_send_command : AP_SCAN 1 ; interface index=0;
  13. E/WifiHW  (  441): wifi_send_command : SCAN_RESULTS ; interface index=0;

2. 使用管道过滤日志

(1) 过滤固定字符串

过滤固定字符串 : 只要命令行出现的日志都可以过滤, 不管是不是标签;

-- 命令 : adb logcat | grep Wifi ;

  1. octopus@octopus:~$ adb logcat | grep Wifi
  2. E/WifiHW  (  441): wifi_send_command : AP_SCAN 1 ; interface index=0;
  3. E/WifiHW  (  441): wifi_send_command : SCAN_RESULTS ; interface index=0;
  4. E/WifiHW  (  441): wifi_send_command : SCAN ; interface index=0;
  5. E/WifiHW  (  441): wifi_send_command : AP_SCAN 1 ; interface index=0;
  6. E/WifiHW  (  441): wifi_send_command : SCAN_RESULTS ; interface index=0;
  7. E/WifiHW  (  441): wifi_send_command : AP_SCAN 1 ; interface index=0;
  8. E/WifiHW  (  441): wifi_send_command : SCAN_RESULTS ; interface index=0;

过滤字符串忽略大小写 : adb logcat | grep -i wifi ;

(2) 使用正则表达式匹配

分析日志 : 该日志开头两个字符是 "V/", 后面开始就是标签, 写一个正则表达式 "^..ActivityManager", 就可以匹配日志中的 "V/ActivityManager" 字符串;

  1. V/ActivityManager(  574): getTasks: max=1, flags=0, receiver=null

正则表达式过滤日志: 使用上面的正则表达式组成命令 adb logcat | grep "^..Activity" ;

adb logcat 命令行用法的更多相关文章

  1. adb环境配置+常用adb命令+Logcat命令的用法+手动进行文件比对的方法+批量挪bug

    1. adb环境配置:下载adb环境变量包:打开计算机属性-高级系统设置-环境变量:新建变量adb,值为刚才的环境变量包路径:编辑path值,在最后面加上;%adb%;确定就妥了 2. 常用adb命令 ...

  2. Android 调试桥 (adb) 是 命令行命令--官方拷贝过来的,留作自己查看

    Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信.adb 命令便于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令 ...

  3. adb logcat 命令

    转自:http://blog.csdn.net/tumuzhuanjia/article/details/39555445 1. 解析 adb logcat 的帮助信息 在命令行中输入 adb log ...

  4. adb logcat命令查看并过滤android输出log

    cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都 ...

  5. 【android】 adb logcat命令查看并过滤android输出log

    cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都 ...

  6. adb logcat命令

    1.http://blog.csdn.net/tumuzhuanjia/article/details/39555445 2.http://blog.csdn.net/xyz_lmn/article/ ...

  7. 【Android测试】【第五节】LogCat——命令行

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4684123.html 前言 上一篇将的是如果在eclips ...

  8. Android NDK 开发中 adb logcat 命令的使用

    一.LogCat 存储在一个叫做 circular memory buffers 的缓冲中. 平时常用的都是通过eclipse 自带的 logcat 插件查看 logcat ,其实也可以通过命令来导出 ...

  9. Android 手机 ADB FastBoot 命令基本用法

    adb用法: 准备: 1.在电脑上安装相应的USB驱动,在各分区置顶帖子有下载链接 2.手机进入设置->开发人员选项->勾选USB调试 adb devices 查看是否有设备 adb sh ...

随机推荐

  1. Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面

    随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityManager  类,用 ...

  2. STL assign 和swap

    首先看下在整个container上面的复制. c1=c2 可以等同于 c1.erase(c1.begin(),c1.end()) //delete all elems in c1 c1.insert( ...

  3. poj 1503 Integer Inquiry (高精度运算)

    题目链接:http://poj.org/problem?id=1503 思路分析: 基本的高精度问题,使用字符数组存储然后处理即可. 代码如下: #include <iostream> # ...

  4. Unity3D游戏开发之小地图的实现

    今天我们来讲一下在Unity3D中怎样实现小地图.首先,我们来一起看看终于实现的效果: 要实现小地图效果,须要实现对于小地图和角色的绘制,所以这里须要用到OnGUI()方法,我们一起来看代码: [cs ...

  5. iOS中的图像处理(二)——卷积运算

    关于图像处理中的卷积运算,这里有两份简明扼要的介绍:文一,文二. 其中,可能的一种卷积运算代码如下: - (UIImage*)applyConvolution:(NSArray*)kernel { C ...

  6. HDU2276 - Kiki &amp; Little Kiki 2(矩阵高速幂)

    pid=2276">题目链接 题意:有n盏灯.编号从1到n.他们绕成一圈,也就是说.1号灯的左边是n号灯.假设在第t秒的时候,某盏灯左边的灯是亮着的,那么就在第t+1秒的时候改变这盏灯 ...

  7. iOS Responder Chain 响应者链

    一.事件分类 对于IOS设备用户来说,他们操作设备的方式主要有三种:触摸屏幕.晃动设备.通过遥控设施控制设备.对应的事件类型有以下三种: 1.触屏事件(Touch Event) 2.运动事件(Moti ...

  8. 复习C语言系列二:动态调用函数指针数组

    a:用call_fun_ptr调用afun(),b:用call_fun_ptr调用bfun() a 请输入给您指定的函数输调用的参数 afun_par ------------------------ ...

  9. 10个值得我们关注的python博客

    大家好,还记得我当时学习python的时候,我一直努力地寻找关于python的博客,但我发现它们的数量很少.这也是我建立这个博客的原因,向大家分享我自己学到的新知识.今天我向大家推荐10个值得我们关注 ...

  10. fancyBox简单入门

    1. 下载 fancyBox,解压后根据需要将文件复制到网页文件夹中(建议不要更改目录结构),并在网页源码中引入相应的 css 样式和 js 文件(如果更改了目录结构,引入的时候请调整相应代码,对应它 ...