查看apk包名和Activity名


今天遇到一個bug,比較有意思。

情景:

  • 測試一個鑽石提現功能,條件是賬戶里必須有價值等於或者超過50美元的鑽石,才允許提現,否則無法進行下一步。

測試步驟:

  1. 提現頁面輸入一個小於50美元的提現金額,不點擊下一步
  2. 進入手機shell,獲取root權限,執行 am start -n com.cs.test/.activity.WithdrawCardListActivity,回車之后就能進入選擇銀行卡頁面
  3. 輸入銀行卡卡號,下一步,提現了

    這個測試的意圖就是,在不滿足判斷條件的情況下,越過app的驗證,繼續后面的操作。

    這里要學習的就是 am start -n com.cs.test/.activity.WithdrawCardListActivity 這個命令。

    前面的篇章有介紹過,am start -n <包名>/<包名>.<Activity名> 這條命令的作用就是啟動程序或者直接啟動某個Activity,就像這個測試中的跳轉一樣。

 

    那么問題來了,怎么獲取這個app的包名和Activity名呢?

查看包名的方法有以下兩種但不局限於這兩種:

  • aapt dump badging <apk文件路徑> ,aapt是SDK的一個小工具,在build-tools里面

          

  • 使用re文件管理器,查看/data/app

查看Activity名的方法

  • adb shell dumpsys activity | grep "Card"          -----Linux
  • adb shell dumpsys activity | findstr "Card"        -----Windows

          

    記得一定要進行過濾,因為一個app會有很多個Activity,不過濾會找得頭都暈的。

    然后,問題又來了,aapt 這個命令又該怎么用呢?知道aapt可以用來查看包名、activity名、版本等很多信息,后面用到再逐個去了解,先知道有這么回事兒就行了。

     

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM