You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python将已Root安卓设备Root目录的应用文件复制到PC?

解决方案:通过Python结合SU权限的ADB命令复制Root目录文件

要解决Root目录文件无法通过普通ADB复制的问题,核心是借助设备的Root权限执行文件操作,再通过普通ADB拉取到PC。以下是具体实现步骤和代码:

前置准备

  • 确保安卓设备已Root,且Root权限管理工具(如Magisk)允许ADB进程获取SU权限(首次执行时可能需要在设备上手动授权)。
  • 设备开启USB调试,且已通过adb devices确认连接正常。
  • 本地环境已配置ADB并添加到系统PATH,或在脚本中指定ADB的完整路径。

Python脚本实现

通过subprocess模块调用带SU权限的ADB命令,先将Root目录文件复制到设备的公共可访问目录(如/sdcard下的临时文件夹),再拉取到PC:

import subprocess
import os

def copy_root_file(device_source, local_dest, temp_dir="/sdcard/temp_root_transfer/"):
    # 1. 创建设备端临时目录(SU权限执行)
    subprocess.run(
        ["adb", "shell", "su", "-c", f"mkdir -p {temp_dir}"],
        check=True,
        stdout=subprocess.DEVNULL,
        stderr=subprocess.DEVNULL
    )
    
    # 2. 复制Root文件到临时目录(SU权限执行)
    file_name = os.path.basename(device_source)
    temp_file_path = os.path.join(temp_dir, file_name)
    subprocess.run(
        ["adb", "shell", "su", "-c", f"cp {device_source} {temp_file_path}"],
        check=True
    )
    
    # 3. 拉取临时文件到本地PC
    subprocess.run(
        ["adb", "pull", temp_file_path, local_dest],
        check=True
    )
    
    # 4. 清理设备端临时文件(可选)
    subprocess.run(
        ["adb", "shell", "su", "-c", f"rm -rf {temp_dir}"],
        check=True,
        stdout=subprocess.DEVNULL,
        stderr=subprocess.DEVNULL
    )

# 调用示例
if __name__ == "__main__":
    # 替换为目标Root文件路径和本地保存路径
    root_file_path = "/data/data/com.your.app/private_data.db"
    local_save_path = "./extracted_data.db"
    
    try:
        copy_root_file(root_file_path, local_save_path)
        print("文件复制完成")
    except subprocess.CalledProcessError as e:
        print(f"复制失败:命令执行出错,可能是SU权限未授权或路径错误")

关键说明

  • 使用adb shell su -c前缀执行需要Root权限的命令,确保操作能访问Root目录。
  • 临时目录选择/sdcard下的路径,因为普通ADB进程有权限访问该目录,方便后续拉取。
  • 若执行过程中报错,优先检查:设备是否授权ADB的SU请求、目标文件路径是否正确、ADB连接是否正常。

内容的提问来源于stack exchange,提问作者zeed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 15:22:23