import { Accordion, AccordionButton, AccordionIcon, AccordionItem, AccordionPanel, Box, Code, Heading, ListItem, OrderedList, Text, chakra, } from '@chakra-ui/react'; import { ExternalLinkIcon } from '@chakra-ui/icons'; import { Light as SyntaxHighlighter } from 'react-syntax-highlighter'; import hljsStyleGitHub from 'react-syntax-highlighter/dist/esm/styles/hljs/github'; import PowerShellAdbDumpCommandTemplate from './adb_dump.ps1?raw'; import ShellAdbDumpCommandTemplate from './adb_dump.sh?raw'; import { ExtLink } from '../ExtLink'; const applyTemplate = (tpl: string, values: Record) => { return tpl.replace(/\{\{\s*(\w+)\s*\}\}/g, (_, key) => (Object.hasOwn(values, key) ? String(values[key]) : '')); }; export interface AndroidADBPullInstructionProps { dir: string; file: string; } export function AndroidADBPullInstruction({ dir, file }: AndroidADBPullInstructionProps) { const psAdbDumpCommand = applyTemplate(PowerShellAdbDumpCommandTemplate, { dir, file }); const shAdbDumpCommand = applyTemplate(ShellAdbDumpCommandTemplate, { dir, file }); return ( <> 你需要 root 访问权限来访问安卓应用的私有数据。 ⚠️ 请注意,获取 root 通常意味着你的安卓设备 将失去保修资格 在安卓手机端操作 启动具有 root 特权的文件浏览器 访问 {dir}/ 目录。 将文件 {file} 复制到浏览器可访问的目录。
(例如下载目录)
提交该数据库文件。
在 PC 端操作(ADB / PowerShell) 确保 adb 命令可用。 💡 如果没有,可以 使用 Scoop 安装 启动终端并进入 PowerShell 7 环境。 将安卓设备连接到电脑,并允许调试。 粘贴执行下述代码。若设备提示「超级用户请求」请允许: {psAdbDumpCommand} 提交当前目录下的 {file} 文件。 在 Linux / Mac 系统下操作(ADB / Shell) 将安卓设备连接到电脑,并允许调试。 粘贴执行下述代码。若设备提示「超级用户请求」请允许: {shAdbDumpCommand} 提交当前目录下的 {file} 文件。
); }