印刷機海德堡開(kāi)發(fā)者選項密碼怎么弄(海德堡印刷機操作系統)
印刷廠(chǎng)直印加工●彩頁(yè)1000張只需要69元●名片5元每盒-更多產(chǎn)品印刷報價(jià)?聯(lián)系電話(huà):138-1621-1622(微信同號)
021yin.com
/*
*
*
0*
/ 點(diǎn)擊 → 了解如何加入專(zhuān)欄作者 Android 開(kāi)發(fā)中, adb 是開(kāi)發(fā)者經(jīng)常使用的工具,是 Android 開(kāi)發(fā)者必須掌握的。 Android Debug Bridge,Android 調試橋接器,簡(jiǎn)稱(chēng) adb ,該工具位于 sdk/platform-tools/ 目錄下,其源碼位于 path-to-sourcecode/system/core/adb 目錄下,是用于管理模擬器或真機狀態(tài)的萬(wàn)能工具。 adb 采用了客戶(hù)端-服務(wù)器模型,包括三個(gè)部分:客戶(hù)端部分,運行在開(kāi)發(fā)用的電腦上,可以在命令行中運行adb命令來(lái)調用該客戶(hù)端,像 DDMS 這樣的 Android 工具也可以調用 adb 客戶(hù)端。守護進(jìn)程部分,運行于模擬器或手機的后臺。服務(wù)端部分,是運行在開(kāi)發(fā)用電腦上的后臺進(jìn)程,用于管理客戶(hù)端與運行在模擬器或真機的守護進(jìn)程通信。 adb 工具模型示意圖如下: adb 的工作原理 當啟動(dòng) adb 客戶(hù)端時(shí),客戶(hù)端首先檢查 adb 服務(wù)端進(jìn)程是否運行,如果沒(méi)有運行,則啟動(dòng)服務(wù)端。當服務(wù)端啟動(dòng)時(shí),它會(huì )綁定到本地的 TCP*
0*
7 端口,并且監聽(tīng)從 adb 客戶(hù)端發(fā)來(lái)的命令——所有 adb 客戶(hù)端都使用 *
0*
7 端口與 adb 服務(wù)端通信。 接下來(lái)服務(wù)端與所有正在運行的模擬器或手機連接。它通過(guò)掃描 *
*
*
*
-*
*
*
*
之間的奇數號端口來(lái)搜索模擬器或手機,一旦發(fā)現 adb 守護進(jìn)程,就通過(guò)此端口進(jìn)行連接。需要說(shuō)明的是,每一個(gè)模擬器或手機使用一對有序的端口,偶數號端口用于控制臺連接,奇數號端口用于 adb 連接,例如: Emulator1,console: *
*
*
*
Emulator1,adb: *
*
*
*
Emulator2,console: *
*
*
*
Emulator2,adb: *
*
*
7 即如果模擬器與 adb 在 *
*
*
*
端口連接,則其與控制臺的連接就是 *
*
*
*
端口。 當服務(wù)端與所有的模擬器建立連接之后,就可以使用 adb 命令來(lái)控制或者訪(fǎng)問(wèn)了。因為服務(wù)端管理著(zhù)連接并且可以接收到從多個(gè) adb 客戶(hù)端的命令,所以可以從任何一個(gè)客戶(hù)端或腳本來(lái)控制任何模擬器或手機設備。 補充: 1. 使用 adb 命令調試需要手機開(kāi)啟 開(kāi)發(fā)者模式 下的 USB 調試,在 Android *
.2 及更高的版本中,開(kāi)發(fā)者選項默認是隱藏的,你可以去 設置——關(guān)于手機 ,然后連續點(diǎn)擊七次版本號即可。返回上層就可以在底部看見(jiàn) 開(kāi)發(fā)者模式 了。當然有些定制的 ROM 開(kāi)啟方式會(huì )有點(diǎn)不一樣,這個(gè)就要去問(wèn) ROM 的開(kāi)發(fā)者了。 2. 關(guān)于 USB 調試與計算機的 RSA 密鑰指紋配對。Google 官方原文如下: When you connect a device running Android *
.2.2 or higher to your computer, the system shows a dialog asking whether to accept an RSA key that allows debugging through this computer. This security mechanism protects user devices because it ensures that USB debugging and other adb commands cannot be executed unless you’re able to unlock the device and acknowledge the dialog. This requires that you have adb version 1.0.*
1 (available with SDK Platform-tools r1*
.0.1 and higher) in order to debug on a device running Android *
.2.2 or higher. 大意就是,你想使用 USB調試 就得啟用 USB調試 模式下的 RSA密鑰指紋。不然我就不給你用。 *
. 關(guān)于使用真機調試的更多信息可參考:Run Apps on a Hardware Device。 adb 用法 查詢(xún)模擬器或手機狀態(tài) 了解 adb 服務(wù)端連接的模擬器或手機可以幫助更好的使用 adb 命令,這可以通過(guò) devices 命令來(lái)列舉當前連接的設備: adb devices 執行結果是 adb 為每一個(gè)設備輸出以下?tīng)顟B(tài)信息: 序列號(serialNumber):由 adb 創(chuàng )建用于唯一標識設備的字符串,格式是 設備類(lèi)型-端口號,例如: emulator-*
*
*
*
連接狀態(tài)(state),其值是可能是下面的任意一種: offline — 未連接或未響應 device — 表示設備已經(jīng)連接到服務(wù)端。但需要注意的是,這個(gè)狀態(tài)并不表示 Android 系統已經(jīng)完全啟動(dòng)起來(lái)并且可操作,因為系統在啟動(dòng)的過(guò)程中就已經(jīng)連接 adb ,但這個(gè)狀態(tài)是正常的可操作狀態(tài)。 no device – 表示沒(méi)有任何設備連接(樓主測試過(guò)程中沒(méi)有碰到過(guò) no device 的情況,沒(méi)連接設備就沒(méi)任何輸出) 每一個(gè)設備的輸出形如: [serialNumber][state] 下面是 adb devices 命令和其執行結果: $adb devices List of devices attached emulator-*
*
*
*
device emulator-*
*
*
*
device emulator-*
*
*
*
device 如果沒(méi)有模擬器或手機在運行,運行 adb devices 命令的執行結果如下: $adb devces List of devices attached 操作指定模擬器或手機 如果有多個(gè)模擬器或手機正在運行,當使用 adb 命令的時(shí)候就需要指定目標設備,這可以通過(guò)使用 -s 選項參數實(shí)現,用法如下: adb-sserialNumber command 你可以使用 adb 命令指定序列號在特定的設備上執行命令,這里可以先使用前面提到的 adb devices 命令查詢(xún)設備的序列號信息。 例如: adb-semulator-*
*
*
*
install helloWorld.apk 需要注意的是,如果使用了 -s 而沒(méi)有指定設備的話(huà), adb 會(huì )報錯。 補充: 這是 Google 官方給出在多設備的情況下,不用 -s 參數指定目標設備的快捷方式,原文如下: If you have multiple devices available (hardware or emulated), but only one is an emulator, simply use the -e option to send commands to the emulator. Likewise if there’s multiple devices but only one hardware device attached, use the -d option to send commands to the hardware device. 大意就是:如果你有多個(gè)設備,即既有模擬器,又有真機,但是模擬器只有一個(gè),那么你可以使用 -e 參數想模擬器發(fā)送命令,用法如下: $adb-einstall helloWorld.apk //同理,如果有多個(gè)設備,但只有一個(gè)真機,可以使用如下命令快速發(fā)送命令 $adb-dinstall helloWorld.apk 安裝應用 使用 adb install 命令可以從開(kāi)發(fā)用電腦中復制應用程序并且安裝到模擬器或手機上,adb install 命令必須指定待安裝的.apk文件的路徑: adb install[-lrtsdg]path_to_apk (-l: 鎖定該程序) (-r: 重新安裝該程序,保留應用數據) (-t: allow test packages) (-s: 將應用安裝到SD卡,不過(guò)現在手機好像都沒(méi)有SD卡了吧) (-d: 允許降版本號安裝,當然只有debug包才能使用) (-g: 安裝完默認授予所有運行時(shí)權限,這個(gè)應該對Android*
.0及之后的版本才有效吧) 更多關(guān)于創(chuàng )建 apk 文件可參考:Build And Running 卸載應用 既然有安裝應用的命令,那當然有卸載應用的命令。卸載應用命令的格式如下: //package 表示要卸載應用的包名 adb uninstall[-k]package (-k:不刪除程序運行所產(chǎn)生的數據和緩存目錄) 端口轉發(fā) 使用 adb forward 命令轉發(fā)端口 — 將特定端口上的請求轉發(fā)到模擬器或手機的不同的端口上。下例是從 *
100端口 轉到 7100端口 : adb forward tcp:*
100tcp:7100 也可以使用UNIX命名的socket標識: adb forward tcp:*
100local:logd 補充:關(guān)于 adb forward 命令的作用不是很明白,網(wǎng)上搜了下,大部分文章都是轉載了 淺析 adb 命令 – adb forward ,不知道這是不是原文,反正看不得不是很明白。有哪位大神能跟我講講嘛? 與模擬器或手機傳輸文件 使用 adb 命令 pull 和 push 能從 Android 設備拷貝或復制文件到 Android 設備。跟 install 命令不同,pull 和 push 命令允許拷貝和復制文件到任何位置。 從模擬器或手機拷貝文件或文件夾(包括文件夾的子目錄) adb pull[-a]remote_path local_path (-a:保留文件時(shí)間戳及屬性) 將文件或文件夾(包括文件夾的子目錄)拷貝到模擬器或手機 adb pushlocal_path remote_path 比如,我想把桌面的 log.txt 復制到手機的 dev 目錄下,則命令如下: $adb push/Users/littlejie/Desktop/log.txt/dev 有時(shí)候,使用該命令復制文件到手機或從手機復制文件,會(huì )碰到如下提示: failed tocopy'log.txt'to'/dev/log.txt': Permission denied 備注:Permission denied 這個(gè)問(wèn)題以前在使用 Windows 系統的時(shí)候碰到過(guò),現在轉 Mac 后就沒(méi)有再遇到,難道是我打開(kāi)方式不對嘛?再補充一點(diǎn), Mac 上我運行 adb root 命令真的有點(diǎn)一頭霧水,因為竟然提示: $adb root adbd isalready running asroot 這是因為當前用戶(hù)沒(méi)有相應的權限或者是 /dev 目錄不可寫(xiě)。解決方法如下: //方法一 //已 root 權限啟動(dòng) adb 服務(wù) $adb root //adb remount (重新掛載系統分區,使系統分區重新可寫(xiě)) $adb remount //將文件復制到 /dev 目錄下 $adb push/Users/littlejie/Desktop/log.txt/dev //方法二:修改文件的讀寫(xiě)權限 $adb shell # su # chmod 777 /dev 關(guān)于 Linux 下文件權限的更多內容請參考:linux系統*
*
*
、7*
*
、777權限詳解 adb shell 這里簡(jiǎn)單講一下 adb shell 的使用,因為 adb shell 的用法太多,功能太強,完全可以專(zhuān)門(mén)分出一篇文章來(lái)記錄~不出意外,下周應該能寫(xiě)完~有興趣的同學(xué)可以自己先去看 Google 的官方文檔:ADB Shell Commands adb shell 有兩種使用方式,一種是不進(jìn)入 remote shell 直接執行命令行,格式如下: adb[-d|-e|-sserialNumber]shellshell_command 還有一種是,進(jìn)入模擬器或手機的 remote shell 執行,格式如下: adb[-d|-e|-sserialNumber]shell 開(kāi)啟或關(guān)閉 adb 服務(wù) 在某些情況下需要重啟 adb 服務(wù)來(lái)解決問(wèn)題,比如 adb 無(wú)響應。這時(shí)你可以通過(guò) adb kill-server 來(lái)實(shí)現這一操作。 之后,通過(guò) adb start-server 或者任意 adb 命令來(lái)重啟 adb 服務(wù)。 $adb kill-server $adb start-server *daemon notrunning.starting it now on port*
0*
7* * daemon started successfully * $adb kill-server $adb devices List of devices attached *daemon notrunning.starting it now on port*
0*
7* * daemon started successfully * emulator-*
*
*
*
device emulator-*
*
*
*
device 無(wú)線(xiàn)調試 平時(shí)我們都是使用 USB調試,但是現在也支持通過(guò) WIFI 進(jìn)行調試了。使用方式如下:首先,你要將 Android 設備和 裝有 adb 的電腦連接到同一 Wi-Fi 網(wǎng)絡(luò )。其次,你需要配置好防火墻,否則很有可能導致 Wi-Fi 調試不能使用。使用 USB數據線(xiàn) 將手機連接到電腦。設置目標設備監聽(tīng) *
*
*
*
端口 的 TCP/IP 連接。 $adb tcpip*
*
*
*
斷開(kāi)手機與電腦的 USB 連接。查看手機的 IP地址 。例如,在 Nexus 設備上,你可以通過(guò)如下方式查看: 設置——關(guān)于手機——狀態(tài)——IP地址。在 Androir Wear 上,你可以通過(guò)如下方式查看:設置——Wi-Fi設置——高級——IP地址通過(guò) IP 連接手機 adb connectdevice_ip_address確認手機是否連接到電腦上 $adb devices List of devices attached device-ip-address:*
*
*
*
device 通過(guò)以上步驟,就可以開(kāi)心的享用 WiFi 調試了。如果沒(méi)有正常連接,可以按照下面的步驟檢查: 1. 檢查電腦和手機是否還在同一個(gè) WiFi 網(wǎng)絡(luò )下 2. 重新執行一次 adb connect device_ip_address 命令 *
. 重啟 adb 服務(wù),然后重頭再來(lái) *
. 檢查是否是防火墻的設置問(wèn)題 這是一篇關(guān)于 Android 設備 USB調試 和 WiFi調試 相互切換 的博文,博主寫(xiě)了一個(gè)腳本來(lái)實(shí)現這個(gè)過(guò)程,有興趣的同學(xué)可以去看看。 補充獲取設備序列號 $adb shell emulator-*
*
*
*
查看 bugreport 報告 //直接在終端輸出 $adb bugreport //將 bugreport 輸出到指定文件 $adb bugreport file_path adb bugreport 這個(gè)命令非常簡(jiǎn)單,但是在實(shí)際應用中非常有用,它會(huì )輸出從開(kāi)機之后詳細的 dumpsys 、 dumpstate 和 logcat 信息,是一份完整的日志記錄。對分析用戶(hù)行為、異常信息、系統狀態(tài)有很大的參考作用。一般我們會(huì )把 bugreport 導出到電腦上分析。 bugreport 的詳細使用可以參考 Baniel01 的這篇 Android adb bugreport工具分析和使用 文章,里面有很詳細的介紹。查看設備的 log $adb logcat查看 adb 的幫助 這個(gè)命令很簡(jiǎn)單,但是也很實(shí)用,如果你不知道該使用哪個(gè)命令,那么使用 adb 幫助命令你能查看到大部分 adb 命令的作用和使用方法。 $adb help重啟手機 有時(shí)候,手動(dòng)關(guān)機太麻煩,那就來(lái)個(gè)命令行吧~ adb reboot以 root 權限開(kāi)啟 adb 守護進(jìn)程 //此命令會(huì )重啟守護進(jìn)程 $adb root //不以 root 權限開(kāi)啟 adb 守護進(jìn)程 $adb unroot 總結 以上就是 adb 命令的常見(jiàn)用法,大部分翻譯自 Android Debug Bridge ,其中加了一些個(gè)人總結。有些不常用的 adb 命令沒(méi)有介紹,更多 adb 用法請見(jiàn):Adb Command Summary。文中如有紕漏,歡迎大家留言指出。 參考: 1. Android Debug Bridge 2. 淺析 adb 命令 – adb forward *
. Android_ADB_通過(guò)WIFI或USB方式完成調試 *
. Android adb bugreport工具分析和使用 專(zhuān)欄作者簡(jiǎn)介( 點(diǎn)擊 → 加入專(zhuān)欄作者) 踏歌行 :希望有一天我能夠很坦然地說(shuō):\"讓我來(lái)告訴你,在我眼中,這是一個(gè)怎樣的世界。\"打賞支持作者寫(xiě)出更多好文章,謝謝!關(guān)注「安卓開(kāi)發(fā)精選」看更多精選安卓技術(shù)文章 ↓↓↓