@aiot-toolkit/emulator
TypeScript icon, indicating that this package has built-in type declarations

2.0.4 • Public • Published

emulator

Vela 模拟器 SDK

模拟器的介绍可参考开发帮助文档里的「模拟器」章节

目录结构

目录 描述
avd 模拟器的AVD,配置统一放置$HOME/.vela/vvd 目录下
instance 模拟器实例,不同的Vela镜像版本会使用不同的instance,通过findInstance确定
static 创建AVD时需要用到的静态资源,常量配置文件
typing 接口定义
utils 工具函数

安装

npm install @aiot/emulator

使用

创建 VVD

import os from 'os'
import path from 'path'
import { IAvdArchType, VelaAvdCls, VelaImageType } from '@aiot/emulator'

const sdkHome = path.resolve(os.homedir(), '.export_dev')
const velaAvdCls = new VelaAvdCls({ sdkHome })

/** 创建一个 466 × 466 带 miwear 的模拟器 */
export async function createVVd() {
  velaAvdCls.createVvd({
    avdName: 'test',
    avdArch: IAvdArchType.arm64,
    avdHeight: '466',
    avdWidth: '466',
    imageType: VelaImageType.REL
  })
}

启动 VVD

import os from 'os'
import path from 'path'
import { IAvdArchType, VelaAvdCls, VelaImageType } from '../src'

const sdkHome = path.resolve(os.homedir(), '.export_dev')
const velaAvdCls = new VelaAvdCls({ sdkHome })

export async function startVvd(vvdName: string) {
  velaAvdCls.startVvd({
    avdName: vvdName
  })
}

初始化环境

import os from 'os'
import path from 'path'
import { VelaAvdCls } from '@aiot/emulator'

async function main() {
  const sdkHome = path.resolve(os.homedir(), '.export_dev')
  const velaAvdCls = new VelaAvdCls({ 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()

完整示例

// 安装 npm install @aiot/emulator
import { IAvdArchType, VelaAvdCls, VelaImageType } from '@aiot/emulator'

const velaAvdCls = new VelaAvdCls({})

/** 创建一个 466 × 466 带 miwear 的模拟器 */
velaAvdCls.createVvd({
  avdName: 'O62',
  avdArch: IAvdArchType.arm64,
  avdHeight: '466',
  avdWidth: '466',
  imageType: VelaImageType.REL
})

/** 启动名为 'O62' 的模拟器 */
velaAvdCls.startVvd({
  avdName: '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()

Readme

Keywords

Package Sidebar

Install

npm i @aiot-toolkit/emulator

Weekly Downloads

144

Version

2.0.4

License

ISC

Unpacked Size

101 kB

Total Files

43

Last publish

Collaborators

  • yinhunfeixue
  • lewiscutey
  • yaotaiyang
  • xiaobin06
  • bluestoneq
  • susanpan
  • dongwa