1. 程式人生 > 其它 >Appium Android 獲取包名和 Activity 的幾種方法 (轉)

Appium Android 獲取包名和 Activity 的幾種方法 (轉)

本文件主要記錄獲取包名和 Activity 的方法, 用於自動化測試時啟動 APP 以下方法主要來源於網路和社群同學的貢獻, 特此感謝!

1. 方法一: pm list package 檢視包名

adb shell pm list package -f

將獲取手機內所有 apk 對應的包名和路徑

adb shell pm list package -3 -f #獲取第三方 apk 的包

2. 方法二: dumpsys window(本人最常用)

先開啟需要查詢的 apk 後, 再敲入以上命令

adb shell dumpsys window w | findstr \/ | findstr name=

adb shell dumpsys window |findstr mCurrent

adb shell "dumpsys window w|grep \/|grep name=|sed s/mSurface=Surface(name=//g|sed s/)//g|sed s/ //g"

注: 此處用 sed 將部分字串替換為空, 格式為 sed s / 要被取代的字串 / 新的字串 / g

3. 方法三: logcat 日誌抓取 LAUNCHER

adb shell logcat | grep android.intent.category.LAUNCHER "

adb logcat ActivityManager:I *:s

4. 方法四: dumpsys activity

先啟動需要的查詢的 apk, 再敲入以上命令

adb shell dumpsys activity | grep mFocusedActivity

5. 方法五: logcat 日誌抓 START

  1. C:\Users\Administrator>adb shell
  2. root@msm8916_32_512:/ # logcat | grep START

先啟動需要查詢的 apk, 再敲入以上命令, 找到最後一個 ActivityManager

6. 方法六: aapt 工具 (推薦使用)

使用 aapt 工具 , 適合給程式自動獲取 apk 的相關資訊, 非常實用,

//aapt 是 sdk 自帶的一個工具, 在 sdk\builds-tools \ 目錄下

1. 以微信為例, 命令列中切換到 aapt.exe 目錄執行輸入以下命令

aapt dump badging D:\weixin658android1060.apk

2. 執行後的結果中以下兩行分別是應用包名 package 和入口 activity 名稱, 另外可看到應用使用的許可權支援的語言等資訊

7. 方法七: apktool 反編譯 app 後檢視 AndroidManifest.xml

1. 使用 apktool 反編譯 app

java -jar D:\Tools\apktool_2.2.3.jar d D:\Tools\weixin658android1060.apk

2. 開啟 AndroidManifest.xml 檔案

manifest 節點的 package 屬性值是應用的包名:

查詢 android.intent.action.MAIN 和 android.intent.category.LAUNCHER 對應的 activity, 該 activity 對應的 android:name 屬性既是入口 activity 名稱, android.intent.action.MAIN 決定應用程式最先啟動的 Activity,android.intent.category.LAUNCHER 決定應用程式是否顯示在程式列表裡

8. 方法八: 使用 monkey 命令檢視 Activity

adb shell monkey -p com.tencent.mm -c android.intent.category.LAUNCHER -v -v 0|findstr Using

注:

1. findstr 和 grep 查詢字串說明

findstr:windows 平臺查詢字串命令, 一般格式如下:

adb shell xxx | findstr xxx

grep:linux 平臺查詢字串命令, 一般先 adb shell 進入 shell 命令列再使用, 也可直接使用, 把 shell 後面帶 grep 的命令加雙引號即可:

adb shell "xxx | grep xxx"

來源: http://www.bubuko.com/infodetail-2523341.html