哈囉大家
開發 Android App 時
一定會需要用到 ADB(Android Debug Bridge) 對實機做些動作
例如:裝置連線、安裝 app、移除 app、查詢檔案等等
以下就列出幾個比較常用到的指令給大家
adb connect "裝置的ip"
unable to connect to 裝置的ip:5555: cannot connect to 裝置的ip:5555: 無法連線,因為目標電腦拒絕連線。 (10061)
所以請先下指令 adb tcpip 5555
之後再下 adb connect "裝置的ip"
取得目前連線裝置清單 adb devices
清除所有連線 adb kill-server
指定特定裝置動作 adb -s "裝置名稱" 動作指令
如果目前同時連線的裝置有兩台或兩台以上,下指令時電腦沒辦法同時間對每個裝置做動作,所以必須指定某台裝置做動作。
此時我們先下 adb devices 列出所有連線的裝置名稱
接著下 adb -s "裝置名稱" 動作指令
adb -s 10.10.35.128:5555 shell
adb install apk所在位置
adb install E:\Cindy\test.apk
adb uninstall "packageName"
adb uninstall com.cindy.test
adb shell input keyevent "KeyCode"
adb shell input keyevent 3 (3為Home鍵的KeyCode)
*KeyCode可參考以下網址:
http://www.mail-archive.com/android-developers@googlegroups.com/msg14587.html
adb shell input text "想輸入的文字"
adb shell input text "Cindy"
Ps: 記得打雙引號
重新開機 adb reboot
對特定app清除資料 adb shell pm clear "packageName"
這個指令等同於:設定->應用程式->點選特定app->清除資料
adb shell pm clear com.cindy.test
adb shell am force-stop "packageName"
adb shell am force-stop com.cindy.test
adb shell am start -n "packageName"/".進入點Activity Name"
adb shell am start -n com.cindy.test/.MainActivity
顯示指令小幫手 adb help
將檔案丟到手機裡 adb push "檔案位置" "裝置裡目的地位置"
如果未來大家有開發到系統級的app的話 就需要用push的方式把app丟到系統資料夾內喔
adb push cindy.apk /system/app/
adb pull "檔案在裝置裡的位置" "目的地位置"
adb pull /system/app/cindy.apk E:\Cindy\
那接下來就介紹幾個 Android 常用的 ADB Shell 指令囉
首先輸入指令 adb shell
進入 Shell 模式
cd "路徑位置"
cd /storage/sdcard0/Cindy
回該路徑上一層資料夾 cd ..
列出該資料夾中的檔案 ls
or ls "資料夾位置"
ls /storage/sdcard0/Cindy
rm "檔案名稱或位置"
rm Cindy.jpg
rm /storage/sdcard0/Cindy/Cindy.jpg
rm -r "資料夾名稱或位置"
or rmdir "資料夾名稱或位置"
rm -r Cindy
rm -r /storage/sdcard0/Cindy
rmdir Cindy
rmdir /storage/sdcard0/Cindy
mkdir "資料夾名稱"
mkdir Cindy
cat "文字檔或路徑"
cat cindy.txt
cat /storage/sdcard0/Cindy/cindy.txt
chmod 欲修改的權限 "檔案名稱或路徑"
chmod 644 cindy.txt
小妹我懶惰了點 如果需要知道有那些權限可以設
請參閱鳥哥5.2.2 如何改變檔案屬性與權限
http://linux.vbird.org/linux_basic/0210filepermission.php#chmod
md5sum "檔案名稱或路徑"
md5sum cindy.txt
md5sum /storage/sdcard0/Cindy/cindy.txt
getprop
getprop
or
getprop | grep sys // 只過濾出含有 sys 的資料
這邊列出幾個系統商比較常會用到的參數,都會放在這
參數名稱 | 定義 | 程式碼 |
---|---|---|
ro.product.brand | 手機品牌 | Build.BRAND |
ro.product.device | 裝置名稱 | Build.DEVICE |
ro.product.model | 裝置型號 | Build.MODEL |
ro.build.version.release | Android 版本 | Build.VERSION.RELEASE |
還有好多好多資訊在裡面 | ||
如果自己的 App 需要顯示一些系統資訊 | ||
就可以從這裡找起喔~ |
exit
再來跟大家介紹幾個小技巧
如何在 Android TV 裝置上截圖
adb 連線上機上盒後,打開 Android Studio,下方有個 Logcat 點下去,如果沒有看到,請按鍵盤 Alt + 6 就會跳出 Logcat 視窗,左側有個相機和 Play 的按鈕,如下圖
點擊上面相機就會截圖,點擊下方 Play 按鍵就會做螢幕錄影
螢幕截圖完後你可以選擇要編輯它做旋轉或是繼續截圖、複製圖片、存檔等動作,錄影結束則是直接問你要存哪
同時在遙控器上按下電源鍵和音量-,長按兩秒就會截圖了
接上鍵盤,不管是有線還是無線都可以,接上且 Work 之後,按下平常在 PC 上截圖的 PrtSc 就可以截圖了
以上2.3.點截完圖後,會存在設備裡的 /sdcard/Pictures/Screenshots 資料夾中,可以用上面教的 pull 把圖片載到電腦來
或是打開 Android Studio,找到右方工具欄最下方 Device File Explorer,然後去找到 /sdcard/Pictures/Screenshots 資料夾,就可以看到剛剛的螢幕截圖
想載下來就可以對著資料夾 or 檔案 or 多個檔案按下右鍵 -> Save as... 來做存檔了
如何將 Json 資料快速生成 Kotlin Data Class
這篇就先到這邊啦~
明天待續囉~~