最近在學習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: +3s859ms appPackage = com.mm.android.hsy appActivity = .ui.LoginActivity
在App無法反編譯的時候,第三個比較有用
轉載:http://www.cnblogs.com/nbkhic/p/3806951.html