Android adb tool 功能整理 - H's 手札- 痞客邦

文章推薦指數: 80 %
投票人數:10人

Adb 全名是Android Debug Bridge,是開發或使用Android 時很常用到的工具。

使用者可以從Android 官方站下載SDK,在其中的platform-tools (原本. H's手札 跳到主文 Mymemo 部落格全站分類:數位生活 相簿 部落格 留言 名片 Mar22Tue201115:53 Androidadbtool功能整理 Adb全名是AndroidDebugBridge,是開發或使用Android時很常用到的工具。

使用者可以從Android官方站下載SDK,在其中的platform-tools(原本在\Tools)中找到。

當機器上有打開USBdebugmode時,使用者即可通過adb進行各種debug、底層(linuxuserspace)的Android功能。

比較常用的功能: -tools\ddms.bat:AndroidAP/Framework層最主要的debugtool(已經改名為)  -安裝Android應用程式(*.apk) -連接機器,使用linuxuserspace的功能。

ex:ping,ssh,ftp...blahblah. 這篇文章主要是整理了一些adb的基本功能,後面補上一些開發時常用的功能。

文件參考: -官方的說明文件: http://developer.android.com/intl/zh-TW/guide/developing/tools/adb.html - Android模擬器adb命令介紹 - Sourcecode:system/core/adb/ ,除了adbclient跟adbd(Android系統內負責處理adb功能的daemon)的實作外,裡面包含了service 跟overview 的文件。

  功能介紹 1.通過adb進入機器或模擬器的shell模式 adbshell 也可以執行各種Linux的命令,其命令格式為:adbshellcommand PS:當adbshell之後提示字元為"#"時,表示使用者為root(最大權限),若是"$"則是以shell權限工作 adbshellls就是列出目錄 adbshelldmesg 會列印出Linuxkernellog adbshellcat/proc/kmsg持續印出kernellog(需要root) adbshellkeyevent1輸入keyevent,可輸入的內容參考adbshellkeyevent 2.安裝Android應用程式(*.apk) 可執行adbinstallandroid123.apk,這樣名為android123的安裝包就會安裝到Android模擬器中,前提是android123.apk文件需要放到SDK\Tools目錄下。

比較特殊的安裝方法還有 "-r":當已經安裝過舊版本的程式時,可以使用-r去覆蓋。

"-f":強制安裝,通常在安裝程式時會遇到相容問題,可使用此參數解決。

3.PC端與Android機器的檔案傳輸 除了使用記憶卡模式外,還可使用下面命令可以進行檔案傳輸: 把 android123.txt傳到機器上的/tmp/資料夾中:adbpushandroid123.txt/tmp/android123.txt 從機器上把android123.txt抓到PC端:adbpull/tmp/android123.txtandroid123.txt 4.顯示系統資訊-dumpsys 除了直接輸入adbshelldumpsys外,也可以另外指定要顯示的service,簡列一些參數,用法如: adbshelldumpsysSurfaceFlinger   battery:列出基本的電池資訊 batteryinfo:各種功能使用power的狀況,同AboutPhone裡面的電池使用狀況。

SurfaceFlinger:系統的Surface使用情況 power:列出PowerManager的參數,如wakelock時間等 alarm:列出目前有註冊alarm者   5.其他 -Android預設可編譯成三種模式:eng,userdebug,user。

一般使用者拿到的機器多是user版,當然如果是開發人員,可能會使用 eng或userdebug版進行debug。

或是使用者自行root機器後,可使用下列指令取得root權限 adbroot -一般為了防止系統出問題,所以/system通常在掛載時會設定為唯讀(readonly),當使用者有root權限時,可使用下面指令將系統重新掛載成R/W模式,可對/system內的檔案做修改 adbremount -如果在使用adb時發現有*daemonnotrunning.startingitnow*的提示可以結束adbadbkill-server-顯示android機器連接狀況 $adbdevices 結果如下 Listofdevicesattached1234567890ABCDEF    device - wait-for-device: 等待正在運行的設備,通常是用在script中,後面可接著其他的adb指令 $adbwait-for-device $adbshellps -Portforwarding,在某些應用如模擬器的網路連接使用、VNC時,會用到這項功能。

主要是用來將機器上的的TCPport5555轉發到port1234 $adbforwardtcp:5555tcp:1234 -擷取系統內的各種資訊,產生bugreport  $adbbugreport - Sideload功能:adb1.03.2後支援sideload功能,可在recoverymode燒錄 OTA更新檔 重開機進入recoverymode $adbrebootrecovery 預設按VolUP+Power可顯示recoverymode選單,選擇"Applyupdatefromadb後,可使用sideload的方式燒錄OTA更新檔 $adbsideloadota.zip Android-HowtomounttheSDCardimagefiletoAndroidEmulator(1)首先必須產生SDCard的imagefilemksdcard:createablankFAT32imagetobeusedwiththeAndroidemulatorusage:mksdcard[-llabel]ifisasimpleinteger,itspecifiesasizeinbytesifisanintegerfollowedby'K',itspecifiesasizeinKiBifisanintegerfollowedby'M',itspecifiesasizeinMiBex:mksdcard1024Msdcard.iso 讓SDCard連到AndroidEmulatora:./emulator-sdcard~/.android/SDK-1.0/sdcard.isob:用Eclipse中設定程式的OpenRunDialog裏,Target頁籤的AditionalEmulatorCommandLineOption中加入啟動參數-sdcardscard.iso linux 底下也可以使用mount掛載sdcard.imgmount-oloopsdcard.imgandroid_sdcard 使用am-activitymanager啟動java程式 usage:am[start|instrument]       amstart[-a][-d][-t]                [-c[-c]...]                [-e[-e...]                [-n][-D][]       aminstrument[-e][-p]                [-w] 啟動瀏覽器: #amstart-ncom.google.android.browser/com.google.android.browser.BrowserActivity amstart-ncom.google.android.browser/com.google.android.browser.BrowserActivity Starting:Intent{comp={com.google.android.browser/com.google.android.browser.BrowserActivity}} //啟動瀏覽器,打開目標網址#amstart-aandroid.intent.action.VIEW-dhttp://www.google.comamstart-aandroid.intent.action.VIEW-dhttp://www.google.comStarting:Intent{action=android.intent.action.VIEWdata=http://www.google.com} //撥打電話,號碼是123456789#amstart-aandroid.intent.action.CALL-dtel:123456789amstart-aandroid.intent.action.CALL-dtel:123456789Starting:Intent{action=android.intent.action.CALLdata=tel:123456789} 資料來源:http://blackdidi.wordpress.com/2008/10/10/android-how-to-mount-the-sdcard-image-file-to-android-emulator/http://www.android123.com.cn/moniqi/48.htmlAndroidadbshell啟動java程序 官方ADB文件:http://code.google.com/android/reference/adb.html 全站熱搜 創作者介紹 huenlil H's手札 huenlil發表在痞客邦留言(1)人氣() E-mail轉寄 全站分類:不設分類個人分類:Android此分類上一篇:MTP(MediaTransferProtocol)onAndroid 此分類下一篇:BuildAndroidonUbuntu11.10 上一篇:AndroidinitlanguageTips 下一篇:AndroidVold(VolumeDaemon) ▲top 留言列表 發表留言 近期文章 最新迴響 文章搜尋 文章分類 Android(2) Android(34)AndroidAP(8) Linux(2) LinuxKernel&driver(28)Linux使用(0) Programming(3) Tools(9)WindowsProgramming(10)C++(5) 技術(3) 專案管理(1)Misc(3)硬體(3) 閱讀與聆聽、觀賞與體會(3) 第八藝術(2)Music(3)遊戲(1) 雜記(3) Notes(17)旅行(1)知識-(1) 未分類文章(1) 參觀人氣 本日人氣: 累積人氣: 新聞交換 回到頁首 回到主文 免費註冊 客服中心 痞客邦首頁 ©2003-2022PIXNET 關閉視窗



請為這篇文章評分?