Files
um-react/src/components/AndroidADBPullInstruction/AdbInstructionTemplate.tsx
T

60 lines
2.1 KiB
TypeScript

import { CodeHighlight } from '../CodeHighlight';
import { ExtLink } from '../ExtLink';
import PowerShellAdbDumpCommandTemplate from './adb_dump.ps1?raw';
import ShellAdbDumpCommandTemplate from './adb_dump.sh?raw';
import { applyTemplate } from '~/util/applyTemplate';
export interface AdbInstructionTemplateProps {
dir: string;
file: string;
platform: 'win32' | 'linux';
}
const URL_USB_DEBUGGING = 'https://developer.android.com/studio/debug/dev-options?hl=zh-cn#Enable-debugging';
const LANGUAGE_MAP = {
win32: { language: 'ps1', template: PowerShellAdbDumpCommandTemplate },
linux: { language: 'sh', template: ShellAdbDumpCommandTemplate },
};
export function AdbInstructionTemplate({ dir, file, platform }: AdbInstructionTemplateProps) {
const { language, template } = LANGUAGE_MAP[platform];
const command = applyTemplate(template, { dir, file });
return (
<ol className="list-decimal pl-4">
<li>
<p>
确保 <code>adb</code> 命令可用。
</p>
{platform === 'win32' && (
<div>
<span>
💡 如果没有,可以
<ExtLink href="https://scoop.sh/#/apps?q=adb">使用 Scoop 安装</ExtLink>
</span>
</div>
)}
</li>
<li>启动终端,进入 PowerShell 环境。</li>
<li>
在手机<ExtLink href={URL_USB_DEBUGGING}>启用 USB 调试</ExtLink>
</li>
<li>将安卓设备连接到电脑。</li>
<li>
<p>粘贴执行下述代码执行。若设备提示「是否允许 USB 调试」或「超级用户请求」,选择允许:</p>
<CodeHighlight language={language}>{command}</CodeHighlight>
<br /> 安卓模拟器可能需要额外操作,如
<ExtLink className="text-nowrap" href="https://g.126.fm/04jewvw">
网易 MuMu 模拟器
</ExtLink>
需要提前使用 <code>adb connect ...</code> 指令连接模拟器。详细请参考官方说明文档并调整上述脚本。
</li>
<li>
提交当前目录下的 <code>{file}</code> 文件。
</li>
</ol>
);
}