Android開發(fā)小技巧 | 一句命令搞定截屏

-- 作者 謝恩銘 轉(zhuǎn)載請注明出處

一句命令搞定截屏


在安卓開發(fā)中, 我們很多時候都要用到截屏這個功能。

有時是為了演示, 有時是為了報告問題(比如在Bugzilla, Jira, Redmine等Bug跟蹤系統(tǒng)中上傳截圖), 有時是為了發(fā)布應(yīng)用時要用的截圖。

今天就來聊聊如何快速只用一句簡單的命令就搞定截圖。

由繁到簡的演進(jìn):三種方法


這篇主要講Linux系統(tǒng)下如何Android手機(jī)截屏(當(dāng)然了,Windows下也類似,可以自行嘗試):

首先你的Linux中要安裝了adb(也就是Android Debug Bridge,可以在你下載的Android的SDK的platform-tools文件夾中找到,只要把路徑加入PATH環(huán)境變量就可以)。

而且你的Android手機(jī)須要開啟了Develop options (開發(fā)者選項,要開啟好像一般是在Settings(設(shè)置)里的About device(關(guān)于本機(jī))中按7次Build number那個地方),如下:

那么截屏有哪幾種方式呢?應(yīng)該有很多,這里提供由繁到簡的三種方法,也記錄了小編從事Android開發(fā)之后的截屏方法的“演進(jìn)”。哈哈,以前是挺蠢萌的(話外音:小編你只有蠢,沒有萌,好不...):

1. 手動+adb命令


用你的手機(jī)的組合鍵來截屏(一般是同時按下Home鍵和電源鍵),然后用adb pull來取回本地:

adb pull /手機(jī)的截屏圖片保存路徑/xxx.png

2. 純adb命令


1.使用screencap這個命令,配合adb命令來實現(xiàn)截圖并保存到手機(jī)的/sdcard目錄中:

adb shell screencap -p /sdcard/hello.png

2.用adb pull將手機(jī)中的文件取回本地:

adb pull /sdcard/hello.png

成功運行上面兩行命令之后,你的家目錄~中就會多出一個hello.png的圖片。

當(dāng)然了,截圖時注意不要鎖屏,不然截出來就是黑屏。

3. Shell函數(shù)+命令


第二種用adb命令的方式已經(jīng)比較簡單快捷了。但是,作為程序員,難道每次截屏都要輸入這兩個命令嗎?簡直不能忍。

程序員要學(xué)會“偷懶”

一般Ubuntu(或其他Linux發(fā)行版,例如Fedora)中默認(rèn)的Shell程序是Bash。因此我們其實可以在.bashrc中寫一個函數(shù):

1.用你慣用的文本編輯器打開.bashrc這個bash的配置文件,位于你家目錄中:

vim ~/.bashrc

2.在.bashrc里加入以下的函數(shù)(名字是droidshot 。當(dāng)然了,你可以隨便取什么名字):

# For Android Device Screenshot
function droidshot() {    
  adb shell screencap -p /sdcard/$1.png && adb pull /sdcard/$1.png
}

3.保存,退出。然后,用source命令使修改立即生效:

source ~/.bashrc

4.之后,使用很簡單,在終端中輸入:

droidshot hello

hello就是你傳給droidshot這個函數(shù)的第一個參數(shù)(你也可以隨便取其他名字),相當(dāng)于函數(shù)里那個$1。

因此,在你的家目錄~下就會多了一個 hello.png的圖片,就是你剛才先截圖,保存到Android手機(jī)的/sdcard目錄下,再從Android手機(jī)中用adb pull來取回到本地的那張屏幕截圖。

screen.png這張截圖就如上圖這樣,這張是在三星的Galaxy S7上截的。

是不是超級省事呢?以后你想創(chuàng)建其他截屏圖片,只要在終端輸入:

droidshot hehe

droidshot haha

等等,就可以在本地獲得hehe.png,haha.png這些圖片了。

下期我們繼續(xù)分享Android開發(fā)小技巧。


人世間,
萬千情感皆有溫度,
千萬代碼似有性格。
這里有原創(chuàng)教程,IT叢林......
和你一起探索程序人生。
我是謝恩銘,在巴黎奮斗的嵌入式軟件工程師。
個人簡介
熱愛生活,喜歡游泳,略懂烹飪。
人生格言:“向著標(biāo)桿直跑”

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,063評論 25 709
  • Android開發(fā)中我們有時候需要借助一些命令幫助更好的高效率定位解決問題,本文就來介紹一些可能有些隱藏的而卻非常...
    passiontim閱讀 1,825評論 0 4
  • 時間如白駒奔襲而過。都說時間能撫平傷痛。本為時間會帶我離去。卻不知亦不過自以為。曾數(shù)次腦海模擬人景。當(dāng)夢降臨,夢里...
    余越閱讀 214評論 0 1
  • 今天拍攝途中,泓姐的一位朋友來訪,休息期間他們閑聊起來,說起了這位朋友最近上了今日頭條的事情,老朋友們都為他驕傲。...
    小伊__er閱讀 227評論 3 0
  • 平時我們總會習(xí)慣說等有時間了就怎么怎么,等有錢了就怎么怎么。好像我們總擺脫不了又窮又忙的生活。 很多時候感覺又窮又...
    未了之心閱讀 192評論 0 1

友情鏈接更多精彩內(nèi)容