@skrillex1224/android-toolkit
v0.1.2
Published
`android-toolkit` 是原生 Android androider 的最小公共底座,入口格式对齐 `playwright-toolkit`:业务 actor 只通过 `useAndroidToolKit()` 获取模块,不直接引用内部文件。
Readme
Android Toolkit
android-toolkit 是原生 Android androider 的最小公共底座,入口格式对齐
playwright-toolkit:业务 actor 只通过 useAndroidToolKit() 获取模块,不直接引用内部文件。
快速开始
import { useAndroidToolKit } from '../android-toolkit/index.js';
const { Launch } = useAndroidToolKit();
await Launch.run(async ({ input, ctx, kit }) => {
const result = await kit.ApifyKit.runStep('执行业务流程', null, async () => {
await kit.Device.forceStopApp(ctx, ctx.packageName);
await kit.Device.tapRatio(ctx, 0.5, 0.5);
return { answer: `echo: ${input.query}`, sources: [] };
});
await kit.ApifyKit.pushSuccess(result);
}, {
inputPath,
outputPath,
contextDefaults: {
packageName: 'com.example.app'
}
});保留模块
| 模块 | 说明 |
| --- | --- |
| Launch | 接受显式 inputPath / outputPath,创建 ctx,调用业务 handler |
| ApifyKit | 提供 runStep、runStepLoose、pushSuccess、pushFailed,并统一补齐 code/status/timestamp/data |
| Device | ADB 操作层:启动、点击、滑动、输入中文、截图、Activity 检查 |
| Frida | 启动 WebView event recorder,记录 evaluateJavascript / loadUrl 注入事件 |
| Context | 从显式 input/defaults 生成 Android 运行上下文 |
| Errors | CrawlerError 和错误序列化;失败码由业务显式抛出的 CrawlerError 决定 |
当前边界
放进 toolkit:
- ADB 执行、云手机 TCP ADB 离线重连、点击、滑动、截图、中文输入。
- Frida attach 目标 App pid,并启动 WebView JS 注入事件 recorder。
runStep/runStepLoose/pushSuccess/pushFailed。- 通用错误码和失败 dataset 兜底结构。
不放进 toolkit:
- 任意平台的包名、Activity、WebView class 名称。
- 任意平台的事件名、正文边界、引用来源解析规则。
- 任意平台的成功标准和业务错误码。
这些都留在具体 *-androider 内,例如 wechat-androider/src/utils.js。
