2019年4月29日 星期一

[Android] Android studio環境設置與adb常用指令

Android studio官網下載網址



按下藍色同意按鈕會進入版本列表


 AVD manager是用來管理虛擬裝置,詳細路徑Tools->AVD manager
Screen size : 尺寸 圖為10吋
Resolution 解析度 圖為 1920*720 px
RAM 裝置記憶體 圖為4096 MB (4GB)
Portraint 正常框(選取)與特殊框(取消選取)


排除sdk缺少的問題,若無法run app通知(上午 11:40 Session 'app': Error Installing APKs),
並在Run->Edit Configurations...發生如下圖情形





須要先去File->Project Structure...->點選Modules的app 橫標為Properties確認Build Tools Version選項選擇正確的SDK版本 






























建置AOSP(android image)  以Ubuntu16.40 build android8.0 image為例
https://source.android.com/setup/build/initializing

========================================================
2019/03/20 建置手機Debug環境(Android studio)

Android Studio debug教學(ADB)
會自動裝,假設出現fail(找不到驅動程式,如下圖)















到網站 http://adbdriver.com/downloads/ 下載工具






接著下載 解壓縮 點選 adbdriver=> ADBDriverInstaller.exe












未安裝完成會顯示驚嘆號,若安裝完成會顯示綠色勾。
此時進入Android studio工具,選擇開啟專案後並點選Run=>Run 'app',安裝完成會出現如下 :















會找到除了虛擬機(Pixel)以外的機子Xiaomi。

==============================================================
常用指令:(Ref1)

  (一)、接上Android裝置後,可使用以下Combo技做為連結裝置的SOP:
    1、./adb kill-server
    2、sudo ./adb start-server (PS.sudo通常會要求輸入密碼)
    3、adb devices 列出目前已經連接的裝置

                       adb devices -l 顯示目前連接裝置更詳細的資訊


                  如果系統回應 List of devices attached, no permissions等訊息
                  解決方法 : (權限不足時,在前方加上sudo)
                  adb kill-server
                  adb start-server
                  在連接裝置只有一台的情況下,這個指令會自動進入該裝置的shell
                  adb shell


adb其他常用指令:

    1、進入裝置 : adb shell
      進入後,提示將變為「#」可輸入linux指令 瀏覽系統目錄等
    2、輸入檔案 : adb push [資料夾|檔案] [目標資料夾]
    3、安裝軟體 : adb install -r [檔案名稱].apk
    4、解除安斷 : adb uninstall [apk package名稱]
      若找不到apk的package名稱時,可使用解壓縮軟體開啟apk檔案
      在apk檔案裡能找到AndroidManifest.xml,想辦法找到package字樣
      在package字樣後能找到一串如「com.xxx.ooo.xxx」字樣
      上述字樣即為package名稱
    5、查看程序 : adb jdwp
    6、查詢adb相關資訊  : adb --help
                 7、拍照截圖 : adb shell screencap -p /sdcard/Download/s1.png
                        拍照截圖部分除了用adb shell screencap的命令之外,也可以使用android studio的方式抓圖
                a.先確保android studio IDE有抓到裝置
                 
                b.點選IDE左下方的鍵盤拉展出更多的子選項   
                 
                 c.點選拍照按鈕進行拍照並存檔
                  

                 8、從裝置拉出至電腦根目錄 : adb pull /sdcard/Download/s1.png
                 9、刪除截圖 : adb shell rm /sdcard/Download/s1.png
                10.  打印並輸出系統安裝的程式包裝 : adb shell dumpsys package > package_list.txt(輸出檔名任取)
                11.設定螢幕比 density : adb shell wm density 480
                12.查看螢幕比density : adb shell wm density
                13.adb命令開啟設定主頁面 : adb shell am start com.android.setting/com.android.settings.Settings
                14.adb命令開啟安全設定頁面 : adb shell am start com.android.settings/com.android.settings.SecuritySettings
                15.adb命令開啟手機無線資訊頁面 : adb shell am start com.android.settings/com.android.settings.RadioInfo

如果在多台裝置的情況下,你必須加上-s選擇你要連接的裝置

(選擇usb port的功能只有mac, ubuntu等OS提供)
adb -s "裝置所連接的usb port, id, 或ip位置" shell
傳送檔案進入裝置(local -> device)
adb push "本地檔案路徑" "目標檔案路徑"
拉檔案到本地端(device -> local)
adb pull "目標檔案路徑" "本地檔案路徑"
查看目前裝置log (持續更新)
adb logcat
查看裝置到目前為止的log (不更新)
adb logcat -d
查看log中某個tag
adb logcat -s "tagName"
輸出log為txt檔
adb logcat -> log.txt
adb reboot (手機重新開機)
adb reboot recovery (手機重新開機,進入recovery 模式)

adb reboot fastboot (手機重新開機,進入fastboot 模式)


adb shell內指令
    1、開啟程式 :
      adb shell am start -n [apk的package名稱]/[apk的package名稱].[Activity名稱]
      若不知道程序名,同樣於AndroidManifest.xml裡,找到「Activity」字樣
      通常在「Activity」字樣後能找到儲如「com.xxx.yyy.zzz」之類的字樣
    2、輸入按鍵 : adb shell input keyevent [KEY ID]
      例如,想要「解鎖」就鍵入「adb shell input keyevent 82」
     00 -> "KEYCODE_UNKNOWN"
     01 -> "KEYCODE_MENU"
     02 -> "KEYCODE_SOFT_RIGHT"
     03 -> "KEYCODE_HOME"
     04 -> "KEYCODE_BACK"
     05 -> "KEYCODE_CALL"
     06 -> "KEYCODE_ENDCALL"
     07 -> "KEYCODE_0"
     16 -> "KEYCODE_9"
     17 -> "KEYCODE_STAR"
     18 -> "KEYCODE_POUND"
     19 -> "KEYCODE_DPAD_UP"
     20 -> "KEYCODE_DPAD_DOWN"
     21 -> "KEYCODE_DPAD_LEFT"
     22 -> "KEYCODE_DPAD_RIGHT"
     23 -> "KEYCODE_DPAD_CENTER"
     24 -> "KEYCODE_VOLUME_UP"
     25 -> "KEYCODE_VOLUME_DOWN"
     26 -> "KEYCODE_POWER"
     27 -> "KEYCODE_CAMERA"
     28 -> "KEYCODE_CLEAR"
     29 -> "KEYCODE_A"
     54 -> "KEYCODE_Z"
     55 -> "KEYCODE_COMMA"
     56 -> "KEYCODE_PERIOD"
     57 -> "KEYCODE_ALT_LEFT"
     58 -> "KEYCODE_ALT_RIGHT"
     59 -> "KEYCODE_SHIFT_LEFT"
     60 -> "KEYCODE_SHIFT_RIGHT"
     61 -> "KEYCODE_TAB"
     62 -> "KEYCODE_SPACE"
     63 -> "KEYCODE_SYM"
     64 -> "KEYCODE_EXPLORER"
     65 -> "KEYCODE_ENVELOPE"
     66 -> "KEYCODE_ENTER"
     67 -> "KEYCODE_DEL"
     68 -> "KEYCODE_GRAVE"
     69 -> "KEYCODE_MINUS"
     70 -> "KEYCODE_EQUALS"
     71 -> "KEYCODE_LEFT_BRACKET"
     72 -> "KEYCODE_RIGHT_BRACKET"
     73 -> "KEYCODE_BACKSLASH"
     74 -> "KEYCODE_SEMICOLON"
     75 -> "KEYCODE_APOSTROPHE"
     76 -> "KEYCODE_SLASH"
     77 -> "KEYCODE_AT"
     78 -> "KEYCODE_NUM"
     79 -> "KEYCODE_HEADSETHOOK"
     80 -> "KEYCODE_FOCUS"
     81 -> "KEYCODE_PLUS"
     82 -> "KEYCODE_MENU"
     83 -> "KEYCODE_NOTIFICATION"
     84 -> "KEYCODE_SEARCH"
     85 -> "TAG_LAST_KEYCODE"
    3、停止程序 : adb shell kill 程序ID
      先以「adb jdwp」列出android裝置執行中的程序,再以「adb shell kill 程序」停止
    4、停止系統 : adb shell stop



轉載自http://lanyan-lan.iteye.com/blog/1217694 自看用

2019/0909更新 Android studio導入adb方法 + 遠端adb debug
 遠端adb debug
1.連上裝置提供之網路




















2.cmd : adb connect




3.用adb deices確認是否連上











4.用android studio的logcat視窗確認及進行debug


=========================================

在命令行(就是开始——运行——输入cmd)模式下输入adb shell命令一般会报两种错误,一是“adb不是内部命令或外部命令,也不是可运行的程序或批处理文件”,二是“error:device not found”。 
         对于第一种错误,是因为环境变量没有配置。所谓环境变量,就是各应用程序要用到的信息,这里主要是没有配置Path路径,Path就是.exe和.bat程序执行的路径。因为在命令行中输入命令时,计算机会先在当前目录(一般是C:\User\Administrator)寻找adb.exe程序,如果没有找到,就会通过环境变量中的Path查找(Path中各路径之间以英文格式的;分隔开),如果Path中各路径下都没有adb.exe程序,就会报“adb不是内部命令或外部命令,也不是可运行的程序或批处理文件”错误。解决办法有两种:一是将adb.exe的路径加入到Path路径中,adb.exe位于sdk目录下的platform-tools下,比如我的Android SDK文件位于D:\Android下面,则正确的Path路径应该是“D:\Android\android-sdk-windows\platform-tools”。将这串字符追加到系统或用户环境变量的Path下面就可以了;二是先在dos环境下进入patform-tools目录下,以我的机器为例,使用“cd D:\Android\android-sdk-windows\platform-tools”命令进入到platform-tools目录下,再使用“dir”(Windows下)就可以看到列表中有adb.exe文件了,这时再执行“adb shell”命令就可以了。

       对于第二种错误,是因为没有打开Android虚拟机。因为adb shell命令实际上是对当前虚拟机进行操作,需要进入当前虚拟机的文件结构。如果没有打开虚拟机,本命令当然会报“error:device not found”(就是没有找到设备)的错误了。解决办法就是打开虚拟机,确保已解决第一种错误,输入adb shell就可以正常进入Android虚拟机的结构了。


透過wify連上ap但始終無法透過adb connect ip:5555
解決方案 : adb kill-server

20191024更新
adb環境 mac設定 :
測試 : 在mac中開啟命令提示字元工具鍵入 adb version 若出現adb:command not found的話需要以下步驟設定mac中的adb環境變數. 
1.先在home目錄 ls -al檢查看有沒有 .bash_profile檔案 沒有的話新建一個
2.touch .bash_profile 建立檔案完以後 編輯檔案 open .bash_profile
3.輸入以下內容 用戶名替換成自己的用戶名 若失效 可以用cd命令切換到對應的路徑檢查是否路徑正確
export PATH=${PATH}:/Users/用戶名/Library/Android/sdk/platform-tools
export PATH=${PATH}:/Users/用戶名/Library/Android/sdk/tools
若要連續設定可以簡化使用 冒號 ( : ) 隔開 
4.輸入cmd : source .bash_profile設定完成
5.輸入adb的命令adb version 檢查是否設定成功

沒有留言:

張貼留言