Android調試很是有用的命令集1_adb&aapt&git&repo&scp&while

 

Linux部分場景很是有用的命令集_1_持續更新 這裏面也包含了對於開發調試有用的命令,也能夠看看。html

這裏不作詳細說明或截圖,僅做爲記錄和簡單說明。注:可能只針對某一命令部分功能,不包含整個功能,若要查看所有請自行查閱文檔或helpjava

注:先說明一個 ,搜索文本的命令,在linux下是grep,在window下用findstr。關於這兩個若是發現沒有這個命令,請根據系統更換。很多debug須要root權限。linux

1.adb 

最經常使用的命令,但下面的adb命令 頗有用的,有可能你不知道。(主要仍是Android系統中的可執行命令,經過adb調用)android

 獲取當前界面的Activitygit

adb shell dumpsys window | findstr mCurrentFocus

截圖命令/屏幕錄製:當發現沒有快捷方式 或 調試工具出現問題等,沒法截圖或錄製,能夠用這個直接截圖/錄製並導出。screencap/screenrecord都是手機中的bin文件。shell

adb shell /system/bin/screencap -p /sdcard/screenshot.png //截圖保存到/sdcard/screenshot.png
adb pull /sdcard/screenshot.png  xxx  //導出  
adb shell screenrecord /sdcard/myrecord.mp4  //屏幕錄製到/sdcard/myrecord.mp4

獲取支持最大用戶數服務器

adb shell pm get-max-users

獲取系統全部支持的featuresapp

adb shell pm list features

內存信息ssh

adb shell dumpsys meminfo [YourPackagename] //不跟包名,看所有內存狀況。跟上包名,看對應應用的內存狀況

查看攝像頭信息工具

//MTK平臺   
adb shell cat proc/driver/camera_info    
//展銳平臺    
adb shell cat /sys/devices/virtual/misc/sprd_sensor/camera_sensor_name

 列出系統中應用:下面命令列出對應應用在系統中路徑和對應的包名,如:package:/system/priv-app/MtkMmsService/MtkMmsService.apk=com.android.mms.service

注:系統/data/system/下有兩個文件,packages.list和packages.xml,也包含了系統全部應用的信息。

adb shell pm list package -f

獲取或修改 屏幕分辨率和系統屏幕密度: 

adb shell wm size  //獲取屏幕分辨率,如得到:Physical size: 720x1280
adb shell wm density   //獲取系統密度,如獲取:Physical density: 320
adb shell wm size 720x1280  //設置屏幕分辨率,
adb shell wm density 240 //設置系統密度

模擬按鍵:

adb shell input keyevent 4 //4是返回鍵

注:這裏的按鍵值在源碼的frameworks/base/core/java/android/view/KeyEvent.java定義,這裏列舉幾個經常使用鍵的鍵值。

  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_VOLUME_UP = 24;
  public static final int KEYCODE_VOLUME_DOWN = 25;
  public static final int KEYCODE_POWER = 26;
  public static final int KEYCODE_CAMERA = 27;
  public static final int KEYCODE_MENU = 82;
  public static final int KEYCODE_APP_SWITCH = 187;

 

2.aapt

獲取應用清單:首先得從apk中解壓出AndroidManifest.xml文件

aapt dump xmltree xxxx.apk AndroidManifest.xml

獲取apk的配置:如獲取sdk版本,權限,支持的分辨率、支持的feature等信息

aapt dump badging BrownPinoy.apk [|grep xxx]

  

 3.repo/git

 repo或git經常使用命令

repo forall -p -c git log --after="2018-06-29 00:00:00" --before="2018-07-13 23:59:59" --name-status  > gitlog.txt  //時間段git log
repo_mtk forall -c 'git remote add local xxxxx/80_GO/$REPO_PATH'

ssh-keygen -t rsa -C youremail -f name  //生成密鑰,包含公鑰和私鑰
ssh -vT xxxx  //xxx是你配置的名字,用戶檢測該私鑰以及用戶地址等是否與服務器鏈接正常

git reset --hard  //會將追蹤的文件(tracked)回退到上個版本,對於未追蹤的(untracked)文件則不會處理
git clean -df //回退全部未追蹤(untracked)文件的修改。

gitk:

Ubuntu系統下,git的圖形界面,各個分支、提交、記錄一目瞭然。

 

4.其餘小命令

跨服務器/遠程拷貝:

scp -r user@ip:/srcFilePath  desPath
//將遠程的拷貝到本地目錄(將本地拷貝到遠程也同樣),-r是目錄參數。如:scp -r root@192.168.149.22:/home/test/a.txt  /home/  或者 scp -r /home/a.txt root@192.168.149.22:/home/test/

循環執行:

while : ;do ./main.sh;sleep 100; rm -rf summary_results/ test_results/; sleep 1800; done;
//循環執行"main.sh腳本,延遲100s,刪除summary_results和test_results目錄,再延遲1800s"
相關文章
相關標籤/搜索