Android下未root時匯出已安裝APK的方法

2021-06-22 04:58:33 字數 1672 閱讀 5722

「apk的包名-1.apk」或者「apk的包名-2.apk」。這裡的包名即 package name,形如 com.***.***。

但幸運的是,這個目錄下所有的apk檔案,是有other組可讀許可權的。

這就是本文方法的原理了。

step 0:

在手機上安裝apk,開啟(在下面的步驟中保持apk處於開啟狀態)。

step 1:將pc通過adb連線上手機。這步顯然是必要條件,對adb不清楚的請自行查閱相關資料

step 2:獲取apk的包名(package name) - 最重要的一步 - 

有兩種方法

第一種方法 --

如果你大概知道這個apk的包名可能會包含什麼字串。

「tencent 」這個字串。

方法:開啟pc的命令列,輸入

adb shell ps

。它會列出當前手機中所有正在執行的程式,肯定包含了你要的apk的包名。

在這個輸出裡面查詢包含 tencent的行,你很快就可以找到,它的包名是 com.tencent.mm。

第二種方法 --如果你對這個apk的包名可能包含什麼內容一無所知。

這時可以使用乙個比較複雜的命令:dumpsys activity activities

方法:開啟pc的命令列,輸入

adb shell dumpsys activity activities

,它會列出當前手機中所有正在執行的應用的詳細資訊,按開啟順序排列,最後開啟的apk資訊會放在輸出的最前面。

(輸出非常長,可以重定向到檔案中檢視到 

adb shell dumpsys activity activities > temp.txt)

最前面幾行看起來是這樣的:

activity manager activities (dumpsys activity activities)

main stack:

* taskrecord

numactivities=1 rootwasreset=true userid=0

affinity=com.tencent.mm

intent=

realactivity=com.tencent.mm/.ui.launcherui

askedcompatmode=false

lastthumbnail=null lastdescription=null

lastactivetime=19915965 (inactive for 10s)

* hist #9: activityrecord

packagename=com.tencent.mm processname=com.tencent.mm

發現了嗎,第三行就已經有我們需要的資訊了:

com.tencent.mm

不要被裡面的技術細節資訊嚇倒了,我們不需要關心那些~

step 3:利用adb pull命令匯出apk

備註:android4.4以後,dumpsys的輸出有點變化,這裡,在獲取到dumpsys的輸出後,搜尋關鍵字:stack #1 ,就可以在下面幾行找到類似的包名了

《完》

android 非root下wifi測試連線

獲取root許可權的情況 1.手機安裝無線除錯工具,adbwireless.apk 2.手機連線wifi 與電腦同區域網 開啟adbwireless.apk軟體,開啟除錯狀態,介面會顯示ip位址。3.在計算機命令列,進入sdk目錄 android sdk platform tools 輸入 adb ...

postgreSQL dropdb時 連線未關閉

如下圖 解決步驟 1 select from pg stat activity where datname lnarterydb 查詢該庫有哪些會話 查詢結果會有兩個pid 2.select pg terminate backend pid 中斷該會話,回滾未提交事物 關於 pg terminate...

android如何完全root

有些機器root後通過adb shell 後,預設不是root使用者,需要輸入 su才能切換到root,這樣在執行批處理或想將檔案放到手機系統中會有問題 1adb shell su c sleep 1 2adb start server 3adb push tcpdump data local tc...