標籤:
最近在學習Android的自動化測試載入器appium,此架構在編寫指令碼的時候,需要獲得app的包名和入口的activity,app的包名在手機的運行進程中可以查看,但是入口的activity呢,網上說可以通過工具re-sign.jar擷取,但是快顯視窗如下:
我的java和Android SDK的環境變數都已經設定過了,有圖有真相,但是還是不可以,我最後通過下文的第三種方法,找到了入口的activity
---------------------------------------------------------------------------------------------------------------
以下內容來自轉載
---------------------------------------------------------------------------------------------------------------
有時候在appium的Desired Capabilities中需要指定被測app的appActivity,下面的方法可能會對你有所協助。
方法一
如有你有待測項目的源碼,那麼直接查看源碼就好。如果沒有,那麼請聯絡有源碼的同學,這是推薦方法。
本文著作權歸乙醇所有,歡迎轉載,但請註明作者與出處,嚴禁用於任何商業用途
方法二
如果你沒有代碼,那麼可以反編譯該app。
這裡將用到2個工具,分別是dex2jar和jd-gui。你可以在這裡下載目前為止的最新版本以及樣本apk。
我們以工具包裡的ContactManager.apk為例,簡單介紹一下反編譯的流程。
- 1,重新命名ContactManager.apk為ContactManager.zip並解壓得到檔案classes.dex;
- 2,解壓dex2jar-0.0.9.15.zip,並從命令列進入該檔案夾;
- 3,運行命令
d2j-dex2jar.bat path_to\classes.dex
在當前檔案夾下得到classes-dex2jar.jar;
- 4,解壓jd-gui-0.3.6.windows.zip得到檔案jd-gui.exe;
- 5,使用jd-gui.exe開啟classes-dex2jar.jar;
嗯,好了,可以盡情欣賞了。。
所示的ContactManager就是待測app的main activity。
方法三
參考testerhome的這個文章
使用log查看大法(嗯,windows上沒grep不幸福,好在有powershell的Select-String,可以拿來勉強一用),直接搬磚。
a、啟動待測apk
b、開啟日誌輸出:adb logcat>D:/log.txt
c、關閉日誌輸出:ctrl+c
d、查看日誌
找尋:
Displayed com.mm.android.hsy/.ui.LoginActivity: +3s859msappPackage = com.mm.android.hsyappActivity = .ui.LoginActivity
在App無法反編譯的時候,第三個比較有用
轉載:http://www.cnblogs.com/nbkhic/p/3806951.html
如何擷取android app的Activity