因為很多行星的星友對ADB不熟悉,又問了我這個問題,所以我今天想給大家整理一下相關的ADB知識。作為Android Developer,ADB是必需的。這是必不可少的知識。(大衛(wèi)亞設,Northern Exposure(美國電視劇),Northern Exposure)。
ADB的全稱為Android Debug Bridge,就是起到調(diào)試橋的作用。通過adb我們可以在IDE中調(diào)試Android程序,說白了就是debug工具。adb的工作方式比較特殊,采用監(jiān)聽Socket TCP 5554等端口的方式讓IDE和Qemu通訊,默認情況下adb會daemon相關的網(wǎng)絡端口,所以當我們運行Android Studio時adb進程就會自動運行。
在我們的sdk目錄androidSdk\platform-tools下可以直接使用我們的adb,如果這個目錄沒有,則可以在androidSdk\tools 目錄下找到
但是如果你想像JDK一樣可以全局使用,那就得配置一下adb的環(huán)境了,不然會報adb找不到的錯誤,配置環(huán)境很簡單,把我們的路徑加入到我們的PATH路徑下就好了
首先在系統(tǒng)變量中增加一個ADB的字段填入路徑
然后在path中增加%ADB%字段即可
這樣我們就可以在終端使用了
Log
如果只是純應用開發(fā)的話,用到的log應該是比較多的,你輸入
logcat
就會和你的IDE一樣在刷log了,如果你想過濾,其實也好辦
logcat -s TAG
有時候程序突然掛了,而我的IDE也沒什么東西,可能抽風了,那怎么辦?輸入
logcat -s "AndroidRuntime"
如果你的log太多,想保存下來分析的話,你也可以這樣
logcat > c:\XX.txt
adb shell
shell下能做很多的事情,常用的是我們Linux命令,我們先來看幾個簡單的命令吧
su
su是獲取權限的意思,這樣就有權限查看系統(tǒng)文件了
cat
如果你想查看文本或者其他文本類,比如.java等文件就可以直接cat xxx.txt了,嗯,這些都比較簡單,我們想看一下連接的設備可以
adb devices
有設備了,我想安裝一個apk,那就很簡單咯
adb install c:\\xxx.apk
如果卸載呢?卸載有很多種方式哈,你刪掉也是其中一種,先說下正常卸載,那也是你安裝的應用才能卸載,系統(tǒng)的應用是不讓卸載的,卸載可以用
adb uninstall 包名
如果你想刪掉一個系統(tǒng)文件,你會怎么做?首先進入system/app目錄下對吧,然后輸入
rm -rf xxx.apk
但是,你會看到這樣的一個提示
什么?只讀文件?我明明已經(jīng)是#的root管理權限了啊,那我應該怎么做呢?
adb root
首選我們獲取一下root,然后
adb remount
切換一下remount模式,這樣我們就可以刪掉了,那好,問題來了,我們?nèi)绾斡妹顔右粋€Activity或者一個Servie呢?
首先看下啟動Activity,假設我現(xiàn)在有一個程序的包名是com.lgl.test,而我想啟動這個MainActivity,服務就是MainService那應該怎么寫?首先你得進入shell模式,然后
am start -n com.lgl.test/.MainActivity
啟動服務的話
am startservice -n com.lgl.test/.MainService
到這里,一些簡單的應該是沒什么問題的了
Linux
在shell模式下,你可以看一些權限
ls -l
你可以看到一行有兩個root,他們是什么意思呢?左邊的是用戶組,右邊的是用戶群組,這個可是在源碼編譯中有些注意的喲
但是你如果在linux中
你可以看到不管是用戶組還是用戶群組都是我是用戶名,再實際開發(fā)中,肯定是我們的文件擁有的權限要大一些,那這些怎么改呢?
左邊的可以這么改
sudo chown -R 用戶名 文件名
右邊
sudo chown -R root:用戶名 文件名
這里剛好說到權限的問題,如果你想要一個權限是可讀可寫的話,你可以這樣設置
sudo chmod 777 文件
還有一些簡單的,我就直接貼出來
//移動
mv
//復制
cp
//重啟
reboot
//我們想重啟也可以adb reboot
//創(chuàng)建文件
mkdir
//壓縮
tar
這些都是比較常見的了,我們怎么這么快就扯到了Linux?我們的adb還有很多命令沒說呢,再來看下我們的的push和pull
想取的系統(tǒng)的文件的文件的話,就需要pull了
adb pull /system/a c:\\
這里我就把這個apk放在了c盤,如果你想把一些文件給塞進去系統(tǒng),你可以
adb push c:\\ /system/app/
對了,ls是我們的清單,顯示當前目錄的文件夾,在Dos下是dir,如果我想在一個目錄項回退到上一個目錄,可以
cd ..
如果想回退到上上個目錄,可以
cd ../..
如果你蛋疼的想回到上上上個目錄,那就以此類推了
cd ../../..
好的,我們再來看下剩下的adb命令
adb命令
這部分我也不是很常用
- 1. 顯示系統(tǒng)中全部Android平臺:
- android list targets
- 2.顯示系統(tǒng)中全部AVD(模擬器)
- android list avd
- 3.創(chuàng)建AVD(模擬器)
- android create avd --name 名稱 --target 平臺編號
- 4.啟動模擬器
- emulator -avd 名稱 -sdcard ~/名稱.img (-skin 1280x800)
- 5.刪除AVD(模擬器)
- android delete avd --name 名稱
- 6.啟動DDMS
- ddms
- 7.模擬按鍵
- input keyevent 5
這些就差不多了,有些不行的話,可以嘗試在shell模式下進行
monkey
我們調(diào)試的時候需要用到monkey的話可以執(zhí)行
//對應用做壓力測試1W次
monkey -p 包名 --pct-syskeys 0 -v 100000
//對整個系統(tǒng)進行壓力測試1000W次
monkey --pct-syskeys 0 -v 10000000
實戰(zhàn)
想在adb中過濾log: adb logcat -s "AndroidRuntime"
想安裝apk: adb install xx.apk
想刪除system/app下的系統(tǒng)應用:
adb root
adb remount
adb shell
cd system/app/
rm -rf xxx.apk
reboot
大概就是如此,希望你學會了。
1.《怎么使用adb?總結很全面速看!Android ADB 使用技巧 學會了穩(wěn)賺不虧》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《怎么使用adb?總結很全面速看!Android ADB 使用技巧 學會了穩(wěn)賺不虧》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉載時請保留本站內(nèi)容來源地址,http://f99ss.com/gl/3196729.html