【大前端】【Android】 Android 手机上导出已安装 App 的 APK

根据是否有 root / adb / 仅手机操作 ,常见有 4 种靠谱方式 。按「实用度 + 成本」整理👇


一、最推荐:ADB 导出(无需 Root,最稳定)⭐️

适合开发者、抓包、逆向、分析三方 APK

1️⃣ 开启 USB 调试

复制代码
设置 → 关于手机 → 连续点击"版本号" → 开发者模式
开发者选项 → USB 调试

2️⃣ 找到 APK 路径

复制代码
adb shell pm list packages | grep wechat

例如:

复制代码
package:com.tencent.mm

查 APK 真实路径:

复制代码
adb shell pm path com.tencent.mm

输出示例:

复制代码
package:/data/app/~~abc123==/com.tencent.mm-xyz/base.apk

3️⃣ 拉取 APK

复制代码
adb pull /data/app/~~abc123==/com.tencent.mm-xyz/base.apk ./wechat.apk

📌 注意

  • Android 8+ 多为 split apk

  • 导出后建议用 APKMirror Installerbundletool 安装


二、导出 Split APK(Android 8+ 必看)

很多 App 是 base + 多个 config.apk

复制代码
adb shell pm path com.example.app

返回:

复制代码
base.apk
split_config.arm64_v8a.apk
split_config.zh.apk

批量导出

复制代码
adb pull /data/app/xxx/com.example.app-xxx/ ./app_apk/

合并安装(推荐)

复制代码
bundletool build-apks --mode=universal \
--bundle=app.aab --output=app.apks

三、手机直接导出(无电脑)

方法 1:APK Extractor(推荐)

📱 应用商店搜索:

  • APK Extractor

  • ML Manager

  • App Backup & Restore

操作:

复制代码
打开 App → 选择应用 → 导出 APK

📌 优点:

  • 不需要电脑

  • 自动处理 split apk

📌 缺点:

  • 部分系统 App 导不出

  • 有广告


四、Root 手机导出(不推荐,除非你本来就 Root)

复制代码
su
cp /data/app/com.xxx.app-1/base.apk /sdcard/app.apk

📌 Root 才能访问 /data/app


五、系统 App / 预装 App 导出

系统 App 路径通常在:

复制代码
/system/app/
/system/priv-app/

例如:

复制代码
adb pull /system/app/Settings/Settings.apk

⚠️ 有些是 odex / vdex,不能直接装


六、常见问题(非常关键)

❓ 导出的 APK 装不上?

原因:

  • Android 8+ 是 Split APK

  • 缺少 ABI / 语言 / DPI

✔️ 解决:

  • APKMirror Installer

  • bundletool


❓ 导出后和商店下载的不一样?

正常现象:

  • 厂商二次加固

  • 动态修复

  • 渠道包不同


七、推荐你用的组合方案(开发者)

场景 推荐方案
自己分析 adb + pull
分发给别人 APK Extractor
Android 8+ bundletool
系统 App adb + /system
相关推荐
阿巴斯甜16 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker17 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq952718 小时前
Andorid Google 登录接入文档
android
黄林晴19 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab1 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿1 天前
Android MediaPlayer 笔记
android
Jony_1 天前
Android 启动优化方案
android
阿巴斯甜1 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇1 天前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_2 天前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android