編輯:關於Android編程
ADB (Android Debug Bridge) 說明:下面一些命令需要有root權限才能執行成功 快速啟動dos窗口執行adb: 1. adb.exe所在路徑添加到系統環境變量中 2. 配置快捷鍵啟動dos 進入C:\WINDOWS\system32目錄下,找到cmd.exe. 右擊菜單 "發送到" -> 桌面快捷方式。 在桌面上右擊"快捷方式 到 cmd.exe" -> "屬性" -> "快捷方式"頁 -> 光標高亮"快捷鍵" -> 按下自定義快捷鍵 (如:Ctrl + Alt + Z) 任何情況下,按下Ctrl + Alt + Z啟動dos窗口就可以執行adb命令了 -----------查看設備連接狀態 系列----------- adb get-serialno 獲取設備的ID和序列號serialNumber adb devices 查詢當前計算機上連接那些設備(包括模擬器和手機),輸出格式: [serialNumber] [state] adb get-state 查看模擬器/設施的當前狀態. 說明: 序列號[serialNumber]——由adb創建的一個字符串,這個字符串通過自己的控制端口- 唯一地識別一個模擬器/設備實例。一個序列號的例子: emulator-5554 -----------發送命令到設備 系列----------- adb [-d|-e|-s ] -d 發送命令給usb連接的設備 -e 發送命令到模擬器設備 -s 發送命令到指定設備 如啟動手機設備shell: adb -d shell adb forward 發布端口,可以設置任意的端口號, 做為主機向模擬器或設備的請求端口。如:adb forward tcp:5555 tcp:8000 adb reboot 重啟手機 adb remount 將system分區重新掛載為可讀寫分區 adb kill-server 終止adb服務進程 adb start-server 重啟adb服務進程 adb root 已root權限重啟adb服務 adb wait-for-device 在模擬器/設備連接之前把命令轉載在adb的命令器中 adb jdwp 查看指定的設施的可用的JDWP信息. 可以用 forward jdwp: 端口映射信息來連接指定的JDWP進程.例如: adb forward tcp:8000 jdwp:472 jdb -attach localhost:8000 adb shell am 命令可以啟動應用程序 adb shell input text 向設備輸入文本(光標所在的文本框) adb shell input keyevent 向設備發送按鍵事件 如: 在編輯短信時,往文本框輸入文本:adb shell input text "hello" 向手機發送鍵值回Home:adb shell input keyevent 3 event_code 參考view/KeyEvent.java中的 KEYCODE_* public static final int KEYCODE_SOFT_LEFT = 1; public static final int KEYCODE_SOFT_RIGHT = 2; public static final int KEYCODE_HOME = 3; public static final int KEYCODE_BACK = 4; public static final int KEYCODE_CALL = 5; public static final int KEYCODE_ENDCALL = 6; -----------安裝卸載 系列----------- adb install [-l] [-r] - push this package file to the device and install it ('-l' means forward-lock the app) ('-r' means reinstall the app, keeping its data) adb uninstall [-k] - remove this app package from the device ('-k' means keep the data and cache directories) 如: adb install d:\hello.apk adb unstall com.huawei.hello 說明:如果帶-r選項重新安裝apk時,安裝在 /data/local/tmp/目錄下,手機重啟後還是使用原來的apk. -----------文件操作 系列----------- adb push - copy file/dir to device adb pull - copy file/dir from device -----------基本linux shell命令 系列----------- adb shell [command] ls 列出目錄下的文件和文件夾 cd 切換目錄 rm 刪除目錄和文件 cat 查看文件內容 ps 可以看那個進程再跑 ps -x [PID] 查看單個進程的狀態 top 可以看那個進程的占用率最高 su 切換到root用戶 kill [pid] 殺死一個進程 chmod 777 修改該文件為可執行權限 詳細使用情況可以登錄一台Linux服務器在shell下查看幫助手冊, man -----------查看系統狀態和信息 系列----------- adb shell procrank 查詢各進程內存使用情況 adb shell service list 查看services信息 adb shell cat /proc/meminfo 查看當前的內存情況 adb shell cat /proc/cpuinfo 查看CPU信息(硬件) adb shell cat /proc/iomem 查看IO內存分區 adb shell getprop 列出系統所有屬性 adb shell getprop | findstr "gsm" 列出包含gsm的屬性 adb shell setprop 修改系統屬性 adb shell sqlite3 可以執行sql語句查看數據庫信息, 具體使用情況待調查 -----------Log 系列----------- adb logcat [ ] - View device log 1~~~~~~~~~~~查看可用日志緩沖區: adb logcat -b radio — 查看緩沖區的相關的信息. adb logcat -b events — 查看和事件相關的的緩沖區. adb logcat -b main — 查看主要的日志緩沖區 2~~~~~~~~~~~過濾日志輸出: 過濾器語句按照下面的格式描tag:priority ... , tag 表示是標簽, priority 是表示標簽的報告的最低等級 adb logcat *:W 顯示優先級為warning或更高的日志信息 adb logcat ActivityManager:I MyApp:D *:S 日志的標簽是系統部件原始信息的一個簡要的標志。(比如:“View”就是查看系統的標簽). 優先級有下列集中,是按照從低到高順利排列的: V — Verbose (lowest priority) D — Debug I — Info W — Warning E — Error F — Fatal S — Silent (highest priority, on which nothing is ever printed) 如果你電腦上運行logcat ,相比在遠程adbshell端,你還可以為環境變量ANDROID_LOG_TAGS :輸入一個參數來設置默認的過濾 export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S" 需要注意的是ANDROID_LOG_TAGS 過濾器如果通過遠程shell運行logcat 或用adb shell logcat 來運行模擬器/設備不能輸出日志. 3~~~~~~~~~~~控制日志輸出格式: 日志信息包括了許多元數據域包括標簽和優先級。可以修改日志的輸出格式,所以可以顯示出特定的元數據域。可以通過 -v 選項得到格式化輸出日志的相關信息. brief — Display priority/tag and PID of originating process (the default format). process — Display PID only. tag — Display the priority/tag only. thread — Display process:thread and priority/tag only. raw — Display the raw log message, with no other metadata fields. time — Display the date, invocation time, priority/tag, and PID of the originating process. long — Display all metadata fields and separate messages with a blank lines. 當啟動了logcat ,你可以通過-v 選項來指定輸出格式: [adb] logcat [-v ] 下面是用 thread 來產生的日志格式: adb logcat -v thread 需要注意的是你只能-v 選項來規定輸出格式 option. 4~~~~~~~~~~~Logcat命令列表 -b 加載一個可使用的日志緩沖區供查看,比如event 和radio . 默認值是main 。具體查看Viewing Alternative Log Buffers. -c 清楚屏幕上的日志. -d 輸出日志到屏幕上. -f 指定輸出日志信息的 ,默認是stdout . -g 輸出指定的日志緩沖區,輸出後退出. -n 設置日志的最大數目 .,默認值是4,需要和 -r 選項一起使用。 -r 每 時輸出日志,默認值為16,需要和-f 選項一起使用. -s 設置默認的過濾級別為silent. -v 設置日志輸入格式,默認的是brief 格式,要知道更多的支持的格式,參看Controlling Log Output Format adb bugreport - return all information from the device that should be included in a bug report. adb shell dmesg 查詢內核緩沖區信息 adb shell dumpstate 各類信息,比如進程信息,內存信息,進程是否異常,kernnel的log等 adb shell dumpcrash adb shell dumpsys 查詢所有service的狀態 -----------其他 ----------- 模擬器使用鏡像sdcard 用SDK裡的mksdcard工具來創建FAT32磁盤鏡像並在模擬器啟動時加載它。這樣創建鏡像:? mksdcard , 比如我要創建一個64M的SD卡模擬文件,文件路徑是在D:\workspace\sdcard.img mksdcard 64000000 D:\workspace\sdcard.img Emulator –sdcard D:\workspace\sdcard.img 或者在eclipse的run菜單的open run dialog對話框中配置啟動參數。 #top Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ -t ] [ -h ] -m num Maximum number of processes to display. -n num Updates to show before exiting. -d num Seconds to wait between updates. -s col Column to sort by (cpu,vss,rss,thr). -t Show threads instead of processes. -h Display this help screen. ********* simple selection ********* ********* selection by list ********* -A all processes -C by command name -N negate selection -G by real group ID (supports names) -a all w/ tty except session leaders -U by real user ID (supports names) -d all except session leaders -g by session OR by effective group name -e all processes -p by process ID T all processes on this terminal -s processes in the sessions given a all w/ tty, including other users -t by tty g OBSOLETE -- DO NOT USE -u by effective user ID (supports names) r only running processes U processes for specified users x processes w/o controlling ttys t by tty *********** output format ********** *********** long options *********** -o,o user-defined -f full --Group --User --pid --cols --ppid -j,j job control s signal --group --user --sid --rows --info -O,O preloaded -o v virtual memory --cumulative --format --deselect -l,l long u user-oriented --sort --tty --forest --version -F extra full X registers --heading --no-heading --context ********* misc options ********* -V,V show version L list format codes f ASCII art forest -m,m,-L,-T,H threads S children in sum -y change -l format -M,Z security data c true command name -c scheduling class -w,w wide output n numeric WCHAN,UID -H process hierarchy netstat -ano 查看網絡連狀態 顯示協議統計信息和當前 TCP/IP 網絡連接。 NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval] -a 顯示所有連接和監聽端口。 -b 顯示包含於創建每個連接或監聽端口的 可執行組件。在某些情況下已知可執行組件 擁有多個獨立組件,並且在這些情況下 包含於創建連接或監聽端口的組件序列 被顯示。這種情況下,可執行組件名 在底部的 [] 中,頂部是其調用的組件, 等等,直到 TCP/IP 部分。注意此選項 可能需要很長時間,如果沒有足夠權限 可能失敗。 -e 顯示以太網統計信息。此選項可以與 -s 選項組合使用。 -n 以數字形式顯示地址和端口號。 -o 顯示與每個連接相關的所屬進程 ID。 -p proto 顯示 proto 指定的協議的連接;proto 可以是 下列協議之一: TCP、UDP、TCPv6 或 UDPv6。 如果與 -s 選項一起使用以顯示按協議統計信息,proto 可以是下列協議之一: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。 -r 顯示路由表。 -s 顯示按協議統計信息。默認地,顯示 IP、 IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的統計信息; -p 選項用於指定默認情況的子集。 -v 與 -b 選項一起使用時將顯示包含於 為所有可執行組件創建連接或監聽端口的 組件。 interval 重新顯示選定統計信息,每次顯示之間 暫停時間間隔(以秒計)。按 CTRL+C 停止重新 顯示統計信息。如果省略,netstat 顯示當前 配置信息(只顯示一次) pm usage: pm [list|path|install|uninstall] pm list packages [-f] pm list permission-groups pm list permissions [-g] [-f] [-d] [-u] [GROUP] pm list instrumentation [-f] [TARGET-PACKAGE] pm list features pm path PACKAGE pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] PATH pm uninstall [-k] PACKAGE pm enable PACKAGE_OR_COMPONENT pm disable PACKAGE_OR_COMPONENT The list packages command prints all packages. Options: -f: see their associated file. The list permission-groups command prints all known permission groups. The list permissions command 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. The list instrumentation command prints all instrumentations, or only those that target a specified package. Options: -f: see their associated file. The list features command prints all features of the system. The path command prints the path to the .apk of a package. The install command installs a package to the system. Options: -l: install the package with FORWARD_LOCK. -r: reinstall an exisiting app, keeping its data. -t: allow test .apks to be installed. -i: specify the installer package name. The uninstall command removes a package from the system. Options: -k: keep the data and cache directories around. after the package removal. The enable and disable commands change the enabled state of a given package or component (written as "package/class"). 查看stdout 和stderr 在默認狀態下,Android系統有stdout 和 stderr (System.out和System.err )輸出到/dev/null , 在運行Dalvik VM的進程中,有一個系統可以備份日志文件。在這種情況下,系統會用stdout 和stderr 和優先級 I.來記錄日志信息 通過這種方法指定輸出的路徑,停止運行的模擬器/設備,然後通過用setprop 命令遠程輸入日志 $ adb shell stop $ adb shell setprop log.redirect-stdio true $ adb shell start系統直到你關閉模擬器/設備前設置會一直保留,可以通過添加/data/local.prop 可以使用模擬器/設備上的默認設置 UI/軟件 試驗程序 Monkey 當Monkey程序在模擬器或設備運行的時候,如果用戶出發了比如點擊,觸摸,手勢或一些系統級別的事件的時候, 它就會產生隨機脈沖,所以可以用Monkey用隨機重復的方法去負荷測試你開發的軟件. 最簡單的方法就是用用下面的命令來使用Monkey,這個命令將會啟動你的軟件並且觸發500個事件. $ adb shell monkey -v -p your.package.name 500 更多的關於命令Monkey的命令的信息,可以查看UI/Application Exerciser Monkey documentation page.
一、二維碼與條形碼工作原理目前的很多應用上都有掃碼功能,當時微信推出二維碼掃碼功能時,覺得imagine,通過一張簡單的圖片就能掃描添加還有,還有分享名片功能(也是一張二
Android CoordinatorLayout詳解一、CoordinatorLayout有什麼作用CoordinatorLayout作為“super-powered
1:服務端使用PHP 復制代碼 代碼如下:<?php echo date(Y-m-d H:i:s);?>2:activit
本文實例講述了Android canvas畫圖操作之切割畫布實現方法。分享給大家供大家參考,具體如下:android切割畫布的歷程不算很難,可是理解起來也比較麻煩,這裡寫