0.開啟目前平台提供的最基本的Terminal tool
windows使用power shell(不要使用git bash),ubuntu使用bash,並移動到android sdk/platform-tools/
1.列出所有安裝的 package
(以下以Twitter app為範例,請確認已安裝Twitter)
adb shell pm list packages
Note:
在列出的 package 中尋找目標 apk 的 package,通常 package 和目標 apk 會有關連
若使用 adb 出現 command not found, 請指定 adb 的絕對路徑, (e.g., /android-sdk/platform-tools/adb), 或參考這篇將 adb 加到環境變數中。
./adb.exe shell pm list packages output: ... package:com.google.android.accessibility.soundamplifier package:com.twitter.android package:com.android.musicfx ...
2.藉由 package 列出目標 apk 的完整路徑
adb shell pm path example.package_name
Note:
example.package_name 就是在第1步列出的目標 apk package
./adb.exe shell pm path com.twitter.android output: package:/data/app/com.twitter.android-rsWL7_udEQ4bnqYf6aGKXQ==/base.apk package:/data/app/com.twitter.android-rsWL7_udEQ4bnqYf6aGKXQ==/split_config.arm64_v8a.apk package:/data/app/com.twitter.android-rsWL7_udEQ4bnqYf6aGKXQ==/split_config.xxhdpi.apk package:/data/app/com.twitter.android-rsWL7_udEQ4bnqYf6aGKXQ==/split_config.zh.apk
3.複製目標到本地端
adb pull /data/app/example.package_name /local/path
Note:
/data/app/example.package_name 就是在第2步找到的完整路徑
local/path/ 為想放置目標 apk 的本地端(目前操作的機器)路徑,路徑之後可以設定取出的Apk的名稱,如D:\tempAPK\twitter_temp.apk。
./adb.exe pull /data/app/com.twitter.android-rsWL7_udEQ4bnqYf6aGKXQ==/base.apk D:\tempAPK\twitter_temp.apk output: /data/app/com.twitter.android-rsWL7_udEQ4bnqYf6aGKXQ==/base.apk: 1 file pulled. 35.1 MB/s (17336308 bytes in 0.470s)
完成後在D:\tempAPK\twitter_temp.apk就是從裝置取出的Twitter apk