1. 程式人生 > >如何獲取android app的package和Activity

如何獲取android app的package和Activity

應用包名package和入口activity名稱的方法:

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

1.以ES檔案瀏覽器為例,命令列中切換到aapt.exe目錄執行:aapt dump badging E:\apk\es3.apk

2.執行後的結果中以下兩行分別是應用包名package和入口activity名稱
package: name=’com.estrongs.android.pop’
launchable-activity: name=’com.estrongs.android.pop.view.FileExplorerActivity’

注:在android sdk目錄搜尋可以找到aapt.exe,如果沒有可以下載apktool。 

方法二

如果你沒有程式碼,那麼可以反編譯該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。

 

方法三

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

 

方法四:直接問開發