
Security News
New CNA Scorecard Tool Ranks CVE Data Quality Across the Ecosystem
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.
@aiot-toolkit/emulator
Advanced tools
Vela 模拟器 SDK
模拟器的介绍可参考开发帮助文档里的「模拟器」章节
目录 | 描述 |
---|---|
avd | 模拟器的AVD,配置统一放置$HOME/.vela/vvd 目录下 |
instance | 模拟器实例,不同的Vela镜像版本会使用不同的instance,通过findInstance确定 |
static | 创建AVD时需要用到的静态资源,常量配置文件 |
typing | 接口定义 |
utils | 工具函数 |
npm install @aiot-toolkit/emulator
import os from 'os'
import path from 'path'
import { VvdManager } from '@aiot-toolkit/emulator'
async function main() {
const sdkHome = path.resolve(os.homedir(), '.export_dev')
const velaAvdCls = new VvdManager({ sdkHome })
const downloder = await velaAvdCls.downloadSDK({
force: true,
cliProgress: false,
parallelDownloads: 6
})
downloder.on('progress', (progress) => {
console.log(
`progress: ${progress.formattedSpeed} ${progress.formattedPercentage} ${progress.formatTotal} ${progress.formatTimeLeft}`
)
})
await downloder.downlodPromise
console.log('download success')
}
main()
import os from 'os'
import path from 'path'
import { IAvdArchType, VvdManager, VelaImageType, getDefaultImage } from '@aiot-toolkit/emulator'
const velaAvdCls = new VvdManager({
sdkHome: path.resolve(os.homedir(), '.export_dev')
})
/** 创建一个 466 × 466 带 miwear 的模拟器 */
export async function createVVd() {
const defaultImage = getDefaultImage()
velaAvdCls.createVvd({
name: avdName,
imageType: defaultImage,
arch: IVvdArchType.arm,
imageDir: path.dirname(velaAvdCls.getLocalSystemPath(defaultImage)),
width: '466',
height: '466'
})
}
import os from 'os'
import path from 'path'
import { IAvdArchType, VvdManager, VelaImageType } from '@aiot-toolkit/emulator'
const velaAvdCls = new VvdManager({
sdkHome: path.resolve(os.homedir(), '.export_dev')
})
export async function startVvd(vvdName: string) {
/**
* coldBoot:boolean 是否冷启动
* emulatorInstance: EmulatorInstance 模拟器实例, 可以通过它与模拟器进行命令交互
* getAgent: () => Promise<GrpcEmulator> 获取模拟器的Agent,可以通过它与模拟器进行屏幕交互
*/
const { coldBoot, emulatorInstance, getAgent } = await velaAvdCls.startVvd({
vvdName
})
// 启动应用
emulatorInstance.startApp('com.xiaomi.mipicks')
const velaAgent = await getAgent()
// 获取模拟器截图
const imgBuffer = await velaAgent.getScreenshot()
// 点击模拟器指定位置,
await velaAgent.sendMouse({
x: 100,
y: 100,
// 按下
buttons: 1
})
await velaAgent.sendMouse({
x: 100,
y: 100,
// 松开
buttons: 0
})
}
// 安装 npm install @aiot/emulator
import os from 'os'
import path from 'path'
import { IAvdArchType, VvdManager, VelaImageType } from '@aiot-toolkit/emulator'
const velaAvdCls = new VvdManager({
sdkHome: path.resolve(os.homedir(), '.export_dev')
})
/** 创建一个 466 × 466 带 miwear 的模拟器 */
velaAvdCls.createVvd({
name: 'O62',
arch: IAvdArchType.arm64,
height: '466',
width: '466',
imageType: VelaImageType.REL
})
/** 启动名为 'O62' 的模拟器 */
velaAvdCls.startVvd({
vvdName: 'O62'
})
export async function startVvd(vvdName: string) {}
export async function createVVd() {}
async function main() {
const downloder = await velaAvdCls.downloadSDK({
force: true,
cliProgress: false,
parallelDownloads: 6
})
downloder.on('progress', (progress) => {
console.log(
`progress: ${progress.formattedSpeed} ${progress.formattedPercentage} ${progress.formatTotal} ${progress.formatTimeLeft}`
)
})
await downloder.downlodPromise
console.log('download success')
}
main()
FAQs
vela emulator tool.
The npm package @aiot-toolkit/emulator receives a total of 191 weekly downloads. As such, @aiot-toolkit/emulator popularity was classified as not popular.
We found that @aiot-toolkit/emulator demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.
Research
/Security News
Two npm packages masquerading as WhatsApp developer libraries include a kill switch that deletes all files if the phone number isn’t whitelisted.
Research
/Security News
Socket uncovered 11 malicious Go packages using obfuscated loaders to fetch and execute second-stage payloads via C2 domains.