Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

androidctrl

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

androidctrl

Node module for managing and controlling the Android Emulator

  • 1.2.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
46
increased by76.92%
Maintainers
1
Weekly downloads
 
Created
Source

androidctrl Build Status

Node module for managing and controlling Android devices and emulators.

Install

npm install --save androidctrl

API

start(avdName)

Start the emulator using the AVD supplied through with avdName. Returns a promise that is resolved with an object that has the following properties.

{
  id: String, // The ID of the emulator
  process: Object // The child_process object
}

waitForDevice(deviceId)

Return a promise that will be resolved when the device specified with deviceId is ready (adb daemon is running).

ensureReady(deviceId)

Resolves a promise when the device with the id deviceId has completed its boot process.

adb(deviceId, cmd)

Run an adb command on the device with the id deviceId, and resolve to an object containing the following:

{
    code: Number, // the exit code of the process,
    stdout: String, // The captured stdout
    stderr: String // The captured stderr
}

createAVD(targetId, name, hardwareOptions)

Create an AVD based upon targetId (from listTargets). Returns a promise that will be resolved when the AVD has finished being created.

listTargets

Resolves to an array of Android target objects that can be used with createAVD.

The array looks like:

[
  {
    id: '1 or "android-22"',
    Name: 'Android 5.1.1',
    Type: 'Platform',
    level: '22',
    Revision: '2',
    Skins: 'HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in'
  },
  {
    id: '2 or "android-23"',
    Name: 'Android 6.0.0',
    Type: 'Platform',
    level: '23',
    Revision: '2',
    Skins: 'HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in'
  }
]

hasAVD(name)

Resolves to true if the AVD exists, or false if it does not.

listAVDs

Resolves to an array of Android AVD objects that can be used in conjunction with start(avd.Name).

The array looks like:

[
  {
    Name: 'Android511',
    Device: 'Nexus 5 (Google)',
    Path: '/Users/michael/.android/avd/Android511.avd',
    Target: 'Android 5.1.1 (API level 22)',
    'Tag/ABI': 'default/x86',
    Skin: '1080x1920',
    Sdcard: '500M'
  },
  {
    Name: 'Android600',
    Device: 'Nexus 5 (Google)',
    Path: '/Users/michael/.android/avd/Android600.avd',
    Target: 'Android 6.0.0 (API level 23)',
    'Tag/ABI': 'default/x86',
    Skin: '1080x1920',
    Sdcard: '500M'
  }
]

devices

Resolves to an array of device objects.

The array looks like:

[
  { name: 'emulator-5554', status: 'device' },
  { name: 'emulator-5555', status: 'device' },
  { name: 'emulator-5556', status: 'offline' }
]

listPackages(deviceId)

Returns a promise that resolves to an array containing packages installed on the device with deviceId.

The array looks like:

[
  'com.android.smoketest',
  'com.example.android.livecubes',
  'com.android.providers.telephony',
  'com.android.providers.calendar',
  'com.android.providers.media',
  'com.android.protips',
  'com.android.launcher',
  'com.android.documentsui',
  'com.android.gallery',
  'com.android.externalstorage'
]

isInstalled(packageName)

Returns a promise that resolves with a boolean value that is true if the package specified with packageName is installed.

install(deviceId, apkPath, reinstall=false)

Install an APK located by absolute URI apkPath onto device with deviceId.

Returns a Promise that resolves to undefined on success, and throws 'Already installed' if it's already installed.

If reinstall is true, than the package will be reinstalled and all related data will be kept.

stop(deviceId)

Stop the device specified with deviceId. (This should only be used with emulators. It will kill the process.)

powerOn(deviceId)

Presses the power on button on the phone.

unlock(deviceId)

Presses the unlock button on the phone.

inputKeyEvent(deviceId, keyCode)

Sends a key event with keyCode to device specified with deviceId.

Keywords

FAQs

Package last updated on 26 Oct 2015

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc