From 46e47a3c5cc0c7f36538e7a092fd4d079aa1996d Mon Sep 17 00:00:00 2001 From: filmaj Date: Thu, 6 Apr 2017 13:13:38 -0700 Subject: [PATCH] CB-12640: support for android sdk tools 26.0.1. simplified target parsing by using avdmanager instead of sdkmanager. flipped target parsing logic so that it always tries to use avdmanager to retrieve targets first, then falls back to android command if avdmanager cannot be found (and errors with ENOENT). updated tests. --- bin/templates/cordova/lib/android_sdk.js | 75 +- ...t_avd.txt => sdk25.2-android_list_avd.txt} | 0 ...s.txt => sdk25.2-android_list_targets.txt} | 0 ...vd.txt => sdk25.3-avdmanager_list_avd.txt} | 0 .../sdk25.3-avdmanager_list_target.txt | 7 + spec/fixtures/sdkmanager_list.txt | 1137 ----------------- spec/unit/android_sdk.spec.js | 41 +- spec/unit/emulator.spec.js | 4 +- 8 files changed, 47 insertions(+), 1217 deletions(-) rename spec/fixtures/{android_list_avd.txt => sdk25.2-android_list_avd.txt} (100%) rename spec/fixtures/{android_list_targets.txt => sdk25.2-android_list_targets.txt} (100%) rename spec/fixtures/{avdmanager_list_avd.txt => sdk25.3-avdmanager_list_avd.txt} (100%) create mode 100644 spec/fixtures/sdk25.3-avdmanager_list_target.txt delete mode 100644 spec/fixtures/sdkmanager_list.txt diff --git a/bin/templates/cordova/lib/android_sdk.js b/bin/templates/cordova/lib/android_sdk.js index 58d301ef..79eeb1af 100755 --- a/bin/templates/cordova/lib/android_sdk.js +++ b/bin/templates/cordova/lib/android_sdk.js @@ -68,65 +68,38 @@ module.exports.version_string_to_api_level = { '7.1.1': 25 }; -module.exports.list_targets_with_android = function() { - return superspawn.spawn('android', ['list', 'targets']) - .then(function(stdout) { - var target_out = stdout.split('\n'); - var targets = []; - for (var i = target_out.length - 1; i >= 0; i--) { - if(target_out[i].match(/id:/)) { - targets.push(target_out[i].match(/"(.+)"/)[1]); - } +function parse_targets(output) { + var target_out = output.split('\n'); + var targets = []; + for (var i = target_out.length - 1; i >= 0; i--) { + if(target_out[i].match(/id:/)) { // if "id:" is in the line... + targets.push(target_out[i].match(/"(.+)"/)[1]); //.. match whatever is in quotes. } - return targets; - }); + } + return targets; +} + +module.exports.list_targets_with_android = function() { + return superspawn.spawn('android', ['list', 'target']) + .then(parse_targets); }; -module.exports.list_targets_with_sdkmanager = function() { - return superspawn.spawn('sdkmanager', ['--list']) - .then(function(stdout) { - var parsing_installed_packages = false; - var lines = stdout.split('\n'); - var targets = []; - for (var i = 0, l = lines.length; i < l; i++) { - var line = lines[i]; - if (line.match(/Installed packages/)) { - parsing_installed_packages = true; - } else if (line.match(/Available Packages/) || line.match(/Available Updates/)) { - // we are done working through installed packages, exit - break; - } - if (parsing_installed_packages) { - // Match stock android platform - if (line.match(/platforms;android-\d+/)) { - targets.push(line.match(/(android-\d+)/)[1]); - } - // Match Google APIs - if (line.match(/addon-google_apis-google-\d+/)) { - var description = lines[i + 1]; - // munge description to match output from old android sdk tooling - var api_level = description.match(/Android (\d+)/); //[1]; - if (api_level) { - targets.push('Google Inc.:Google APIs:' + api_level[1]); - } - } - // TODO: match anything else? - } - } - return targets; - }); +module.exports.list_targets_with_avdmanager = function() { + return superspawn.spawn('avdmanager', ['list', 'target']) + .then(parse_targets); }; module.exports.list_targets = function() { - return module.exports.list_targets_with_android() + return module.exports.list_targets_with_avdmanager() .catch(function(err) { - // there's a chance `android` no longer works. - // lets see if `sdkmanager` is available and we can figure it out - var avail_regex = /"?android"? command is no longer available/; - if (err.code && ((err.stdout && err.stdout.match(avail_regex)) || (err.stderr && err.stderr.match(avail_regex)))) { - return module.exports.list_targets_with_sdkmanager(); + // If there's an error, like avdmanager could not be found, we can try + // as a last resort, to run `android`, in case this is a super old + // SDK installation. + if (err && err.code == 'ENOENT') { + return module.exports.list_targets_with_android(); } else throw err; - }).then(function(targets) { + }) + .then(function(targets) { if (targets.length === 0) { return Q.reject(new Error('No android targets (SDKs) installed!')); } diff --git a/spec/fixtures/android_list_avd.txt b/spec/fixtures/sdk25.2-android_list_avd.txt similarity index 100% rename from spec/fixtures/android_list_avd.txt rename to spec/fixtures/sdk25.2-android_list_avd.txt diff --git a/spec/fixtures/android_list_targets.txt b/spec/fixtures/sdk25.2-android_list_targets.txt similarity index 100% rename from spec/fixtures/android_list_targets.txt rename to spec/fixtures/sdk25.2-android_list_targets.txt diff --git a/spec/fixtures/avdmanager_list_avd.txt b/spec/fixtures/sdk25.3-avdmanager_list_avd.txt similarity index 100% rename from spec/fixtures/avdmanager_list_avd.txt rename to spec/fixtures/sdk25.3-avdmanager_list_avd.txt diff --git a/spec/fixtures/sdk25.3-avdmanager_list_target.txt b/spec/fixtures/sdk25.3-avdmanager_list_target.txt new file mode 100644 index 00000000..23da57d3 --- /dev/null +++ b/spec/fixtures/sdk25.3-avdmanager_list_target.txt @@ -0,0 +1,7 @@ +Available Android targets: +---------- +id: 1 or "android-25" + Name: Android API 25 + Type: Platform + API level: 25 + Revision: 3 diff --git a/spec/fixtures/sdkmanager_list.txt b/spec/fixtures/sdkmanager_list.txt deleted file mode 100644 index 40dc3e01..00000000 --- a/spec/fixtures/sdkmanager_list.txt +++ /dev/null @@ -1,1137 +0,0 @@ -Info: Parsing /Users/maj/sdks/android/add-ons/addon-google_apis-google-19/package.xml -Info: Parsing /Users/maj/sdks/android/add-ons/addon-google_apis-google-21/package.xml -Info: Parsing /Users/maj/sdks/android/add-ons/addon-google_apis-google-22/package.xml -Info: Parsing /Users/maj/sdks/android/add-ons/addon-google_apis-google-23/package.xml -Info: Parsing /Users/maj/sdks/android/add-ons/addon-google_apis-google-24/package.xml -Info: Parsing /Users/maj/sdks/android/build-tools/25.0.2/package.xml -Info: Parsing /Users/maj/sdks/android/emulator/package.xml -Info: Parsing /Users/maj/sdks/android/extras/android/m2repository/package.xml -Info: Parsing /Users/maj/sdks/android/extras/google/google_play_services/package.xml -Info: Parsing /Users/maj/sdks/android/extras/google/m2repository/package.xml -Info: Parsing /Users/maj/sdks/android/extras/intel/Hardware_Accelerated_Execution_Manager/package.xml -Info: Parsing /Users/maj/sdks/android/extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.2/package.xml -Info: Parsing /Users/maj/sdks/android/extras/m2repository/com/android/support/constraint/constraint-layout/1.0.2/package.xml -Info: Parsing /Users/maj/sdks/android/patcher/v4/package.xml -Info: Parsing /Users/maj/sdks/android/platform-tools/package.xml -Info: Parsing /Users/maj/sdks/android/platforms/android-19/package.xml -Info: Parsing /Users/maj/sdks/android/platforms/android-21/package.xml -Info: Parsing /Users/maj/sdks/android/platforms/android-22/package.xml -Info: Parsing /Users/maj/sdks/android/platforms/android-23/package.xml -Info: Parsing /Users/maj/sdks/android/platforms/android-24/package.xml -Info: Parsing /Users/maj/sdks/android/platforms/android-25/package.xml -Info: Parsing /Users/maj/sdks/android/sources/android-19/package.xml -Info: Parsing /Users/maj/sdks/android/sources/android-21/package.xml -Info: Parsing /Users/maj/sdks/android/sources/android-22/package.xml -Info: Parsing /Users/maj/sdks/android/sources/android-23/package.xml -Info: Parsing /Users/maj/sdks/android/sources/android-24/package.xml -Info: Parsing /Users/maj/sdks/android/sources/android-25/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-19/default/x86/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-19/google_apis/x86/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-21/default/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-21/google_apis/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-22/default/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-22/google_apis/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-23/default/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-23/google_apis/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-24/default/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-24/google_apis/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-25/google_apis/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/tools/package.xml -Info: Parsing /Users/maj/sdks/android/add-ons/addon-google_apis-google-19/package.xml -Info: Parsing /Users/maj/sdks/android/add-ons/addon-google_apis-google-21/package.xml -Info: Parsing /Users/maj/sdks/android/add-ons/addon-google_apis-google-22/package.xml -Info: Parsing /Users/maj/sdks/android/add-ons/addon-google_apis-google-23/package.xml -Info: Parsing /Users/maj/sdks/android/add-ons/addon-google_apis-google-24/package.xml -Info: Parsing /Users/maj/sdks/android/build-tools/25.0.2/package.xml -Info: Parsing /Users/maj/sdks/android/emulator/package.xml -Info: Parsing /Users/maj/sdks/android/extras/android/m2repository/package.xml -Info: Parsing /Users/maj/sdks/android/extras/google/google_play_services/package.xml -Info: Parsing /Users/maj/sdks/android/extras/google/m2repository/package.xml -Info: Parsing /Users/maj/sdks/android/extras/intel/Hardware_Accelerated_Execution_Manager/package.xml -Info: Parsing /Users/maj/sdks/android/extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.2/package.xml -Info: Parsing /Users/maj/sdks/android/extras/m2repository/com/android/support/constraint/constraint-layout/1.0.2/package.xml -Info: Parsing /Users/maj/sdks/android/patcher/v4/package.xml -Info: Parsing /Users/maj/sdks/android/platform-tools/package.xml -Info: Parsing /Users/maj/sdks/android/platforms/android-19/package.xml -Info: Parsing /Users/maj/sdks/android/platforms/android-21/package.xml -Info: Parsing /Users/maj/sdks/android/platforms/android-22/package.xml -Info: Parsing /Users/maj/sdks/android/platforms/android-23/package.xml -Info: Parsing /Users/maj/sdks/android/platforms/android-24/package.xml -Info: Parsing /Users/maj/sdks/android/platforms/android-25/package.xml -Info: Parsing /Users/maj/sdks/android/sources/android-19/package.xml -Info: Parsing /Users/maj/sdks/android/sources/android-21/package.xml -Info: Parsing /Users/maj/sdks/android/sources/android-22/package.xml -Info: Parsing /Users/maj/sdks/android/sources/android-23/package.xml -Info: Parsing /Users/maj/sdks/android/sources/android-24/package.xml -Info: Parsing /Users/maj/sdks/android/sources/android-25/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-19/default/x86/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-19/google_apis/x86/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-21/default/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-21/google_apis/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-22/default/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-22/google_apis/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-23/default/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-23/google_apis/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-24/default/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-24/google_apis/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/system-images/android-25/google_apis/x86_64/package.xml -Info: Parsing /Users/maj/sdks/android/tools/package.xml -Installed packages: --------------------------------------- -add-ons;addon-google_apis-google-19 - Description: Google APIs, Android 19, rev 20 - Version: 20.0.0 - Installed Location: /Users/maj/sdks/android/add-ons/addon-google_apis-google-19 - -add-ons;addon-google_apis-google-21 - Description: Google APIs, Android 21 - Version: 1.0.0 - Installed Location: /Users/maj/sdks/android/add-ons/addon-google_apis-google-21 - -add-ons;addon-google_apis-google-22 - Description: Google APIs, Android 22 - Version: 1.0.0 - Installed Location: /Users/maj/sdks/android/add-ons/addon-google_apis-google-22 - -add-ons;addon-google_apis-google-23 - Description: Google APIs, Android 23 - Version: 1.0.0 - Installed Location: /Users/maj/sdks/android/add-ons/addon-google_apis-google-23 - -add-ons;addon-google_apis-google-24 - Description: Google APIs, Android 24 - Version: 1.0.0 - Installed Location: /Users/maj/sdks/android/add-ons/addon-google_apis-google-24 - -build-tools;25.0.2 - Description: Android SDK Build-Tools 25.0.2 - Version: 25.0.2 - Installed Location: /Users/maj/sdks/android/build-tools/25.0.2 - -emulator - Description: Android Emulator - Version: 25.3.1 - Installed Location: /Users/maj/sdks/android/emulator - -extras;android;m2repository - Description: Android Support Repository - Version: 44.0.0 - Installed Location: /Users/maj/sdks/android/extras/android/m2repository - -extras;google;google_play_services - Description: Google Play services, rev 38 - Version: 38.0.0 - Installed Location: /Users/maj/sdks/android/extras/google/google_play_services - -extras;google;m2repository - Description: Google Repository - Version: 44 - Installed Location: /Users/maj/sdks/android/extras/google/m2repository - -extras;intel;Hardware_Accelerated_Execution_Manager - Description: Intel x86 Emulator Accelerator (HAXM installer), rev 6.0.5 - Version: 6.0.5 - Installed Location: /Users/maj/sdks/android/extras/intel/Hardware_Accelerated_Execution_Manager - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2 - Description: Solver for ConstraintLayout 1.0.2 - Version: 1 - Installed Location: /Users/maj/sdks/android/extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.2 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 - Description: ConstraintLayout for Android 1.0.2 - Version: 1 - Installed Location: /Users/maj/sdks/android/extras/m2repository/com/android/support/constraint/constraint-layout/1.0.2 - -patcher;v4 - Description: SDK Patch Applier v4 - Version: 1 - Installed Location: /Users/maj/sdks/android/patcher/v4 - -platform-tools - Description: Android SDK Platform-Tools 25.0.3 - Version: 25.0.3 - Installed Location: /Users/maj/sdks/android/platform-tools - -platforms;android-19 - Description: Android SDK Platform 19, rev 4 - Version: 4 - Installed Location: /Users/maj/sdks/android/platforms/android-19 - -platforms;android-21 - Description: Android SDK Platform 21, rev 2 - Version: 2 - Installed Location: /Users/maj/sdks/android/platforms/android-21 - -platforms;android-22 - Description: Android SDK Platform 22, rev 2 - Version: 2 - Installed Location: /Users/maj/sdks/android/platforms/android-22 - -platforms;android-23 - Description: Android SDK Platform 23, rev 3 - Version: 3 - Installed Location: /Users/maj/sdks/android/platforms/android-23 - -platforms;android-24 - Description: Android SDK Platform 24, rev 2 - Version: 2 - Installed Location: /Users/maj/sdks/android/platforms/android-24 - -platforms;android-25 - Description: Android SDK Platform 25, rev 3 - Version: 3 - Installed Location: /Users/maj/sdks/android/platforms/android-25 - -sources;android-19 - Description: Sources for Android 19 - Version: 2 - Installed Location: /Users/maj/sdks/android/sources/android-19 - -sources;android-21 - Description: Sources for Android 21 - Version: 1 - Installed Location: /Users/maj/sdks/android/sources/android-21 - -sources;android-22 - Description: Sources for Android 22 - Version: 1 - Installed Location: /Users/maj/sdks/android/sources/android-22 - -sources;android-23 - Description: Sources for Android 23 - Version: 1 - Installed Location: /Users/maj/sdks/android/sources/android-23 - -sources;android-24 - Description: Sources for Android 24 - Version: 1 - Installed Location: /Users/maj/sdks/android/sources/android-24 - -sources;android-25 - Description: Sources for Android 25 - Version: 1 - Installed Location: /Users/maj/sdks/android/sources/android-25 - -system-images;android-19;default;x86 - Description: Intel x86 Atom System Image - Version: 5 - Installed Location: /Users/maj/sdks/android/system-images/android-19/default/x86 - -system-images;android-19;google_apis;x86 - Description: Google APIs Intel x86 Atom System Image - Version: 26 - Installed Location: /Users/maj/sdks/android/system-images/android-19/google_apis/x86 - -system-images;android-21;default;x86_64 - Description: Intel x86 Atom_64 System Image - Version: 4 - Installed Location: /Users/maj/sdks/android/system-images/android-21/default/x86_64 - -system-images;android-21;google_apis;x86_64 - Description: Google APIs Intel x86 Atom_64 System Image - Version: 18 - Installed Location: /Users/maj/sdks/android/system-images/android-21/google_apis/x86_64 - -system-images;android-22;default;x86_64 - Description: Intel x86 Atom_64 System Image - Version: 5 - Installed Location: /Users/maj/sdks/android/system-images/android-22/default/x86_64 - -system-images;android-22;google_apis;x86_64 - Description: Google APIs Intel x86 Atom_64 System Image - Version: 12 - Installed Location: /Users/maj/sdks/android/system-images/android-22/google_apis/x86_64 - -system-images;android-23;default;x86_64 - Description: Intel x86 Atom_64 System Image - Version: 9 - Installed Location: /Users/maj/sdks/android/system-images/android-23/default/x86_64 - -system-images;android-23;google_apis;x86_64 - Description: Google APIs Intel x86 Atom_64 System Image - Version: 19 - Installed Location: /Users/maj/sdks/android/system-images/android-23/google_apis/x86_64 - -system-images;android-24;default;x86_64 - Description: Intel x86 Atom_64 System Image - Version: 7 - Installed Location: /Users/maj/sdks/android/system-images/android-24/default/x86_64 - -system-images;android-24;google_apis;x86_64 - Description: Google APIs Intel x86 Atom_64 System Image - Version: 10 - Installed Location: /Users/maj/sdks/android/system-images/android-24/google_apis/x86_64 - -system-images;android-25;google_apis;x86_64 - Description: Google APIs Intel x86 Atom_64 System Image - Version: 3 - Installed Location: /Users/maj/sdks/android/system-images/android-25/google_apis/x86_64 - -tools - Description: Android SDK Tools - Version: 25.3.1 - Installed Location: /Users/maj/sdks/android/tools - -Available Packages: --------------------------------------- -add-ons;addon-google_apis-google-15 - Description: Google APIs - Version: 3 - -add-ons;addon-google_apis-google-16 - Description: Google APIs - Version: 4 - -add-ons;addon-google_apis-google-17 - Description: Google APIs - Version: 4 - -add-ons;addon-google_apis-google-18 - Description: Google APIs - Version: 4 - -add-ons;addon-google_apis-google-19 - Description: Google APIs - Version: 20 - -add-ons;addon-google_apis-google-21 - Description: Google APIs - Version: 1 - -add-ons;addon-google_apis-google-22 - Description: Google APIs - Version: 1 - -add-ons;addon-google_apis-google-23 - Description: Google APIs - Version: 1 - -add-ons;addon-google_apis-google-24 - Description: Google APIs - Version: 1 - -add-ons;addon-google_gdk-google-19 - Description: Glass Development Kit Preview - Version: 11 - -build-tools;19.1.0 - Description: Android SDK Build-Tools 19.1 - Version: 19.1.0 - -build-tools;20.0.0 - Description: Android SDK Build-Tools 20 - Version: 20.0.0 - -build-tools;21.1.2 - Description: Android SDK Build-Tools 21.1.2 - Version: 21.1.2 - -build-tools;22.0.1 - Description: Android SDK Build-Tools 22.0.1 - Version: 22.0.1 - -build-tools;23.0.1 - Description: Android SDK Build-Tools 23.0.1 - Version: 23.0.1 - -build-tools;23.0.2 - Description: Android SDK Build-Tools 23.0.2 - Version: 23.0.2 - -build-tools;23.0.3 - Description: Android SDK Build-Tools 23.0.3 - Version: 23.0.3 - -build-tools;24.0.0 - Description: Android SDK Build-Tools 24 - Version: 24.0.0 - -build-tools;24.0.1 - Description: Android SDK Build-Tools 24.0.1 - Version: 24.0.1 - -build-tools;24.0.2 - Description: Android SDK Build-Tools 24.0.2 - Version: 24.0.2 - -build-tools;24.0.3 - Description: Android SDK Build-Tools 24.0.3 - Version: 24.0.3 - -build-tools;25.0.0 - Description: Android SDK Build-Tools 25 - Version: 25.0.0 - -build-tools;25.0.1 - Description: Android SDK Build-Tools 25.0.1 - Version: 25.0.1 - -build-tools;25.0.2 - Description: Android SDK Build-Tools 25.0.2 - Version: 25.0.2 - -cmake;3.6.3155560 - Description: CMake 3.6.3155560 - Version: 3.6.3155560 - -docs - Description: Documentation for Android SDK - Version: 1 - -emulator - Description: Android Emulator - Version: 25.3.1 - Dependencies: - tools Revision 25.3 - -extras;android;gapid;1 - Description: GPU Debugging tools - Version: 1.0.3 - -extras;android;gapid;3 - Description: GPU Debugging tools - Version: 3.1.0 - -extras;android;m2repository - Description: Android Support Repository - Version: 45.0.0 - -extras;google;auto - Description: Android Auto Desktop Head Unit emulator - Version: 1.1 - -extras;google;google_play_services - Description: Google Play services - Version: 39 - Dependencies: - patcher;v4 - -extras;google;m2repository - Description: Google Repository - Version: 44 - Dependencies: - patcher;v4 - -extras;google;market_apk_expansion - Description: Google Play APK Expansion library - Version: 1 - -extras;google;market_licensing - Description: Google Play Licensing Library - Version: 1 - -extras;google;play_billing - Description: Google Play Billing Library - Version: 5 - -extras;google;simulators - Description: Android Auto API Simulators - Version: 1 - -extras;google;webdriver - Description: Google Web Driver - Version: 2 - -extras;intel;Hardware_Accelerated_Execution_Manager - Description: Intel x86 Emulator Accelerator (HAXM installer) - Version: 6.0.5 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0 - Description: Solver for ConstraintLayout 1.0.0 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha2 - Description: com.android.support.constraint:constraint-layout-solver:1.0.0-alpha2 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha3 - Description: com.android.support.constraint:constraint-layout-solver:1.0.0-alpha3 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha4 - Description: com.android.support.constraint:constraint-layout-solver:1.0.0-alpha4 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha5 - Description: Solver for ConstraintLayout 1.0.0-alpha5 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha6 - Description: Solver for ConstraintLayout 1.0.0-alpha6 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha7 - Description: Solver for ConstraintLayout 1.0.0-alpha7 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha8 - Description: Solver for ConstraintLayout 1.0.0-alpha8 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha9 - Description: Solver for ConstraintLayout 1.0.0-alpha9 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1 - Description: Solver for ConstraintLayout 1.0.0-beta1 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta2 - Description: Solver for ConstraintLayout 1.0.0-beta2 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta3 - Description: Solver for ConstraintLayout 1.0.0-beta3 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4 - Description: Solver for ConstraintLayout 1.0.0-beta4 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta5 - Description: Solver for ConstraintLayout 1.0.0-beta5 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1 - Description: Solver for ConstraintLayout 1.0.1 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2 - Description: Solver for ConstraintLayout 1.0.2 - Version: 1 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0 - Description: ConstraintLayout for Android 1.0.0 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha2 - Description: com.android.support.constraint:constraint-layout:1.0.0-alpha2 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha2 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha3 - Description: com.android.support.constraint:constraint-layout:1.0.0-alpha3 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha3 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha4 - Description: com.android.support.constraint:constraint-layout:1.0.0-alpha4 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha4 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha5 - Description: ConstraintLayout for Android 1.0.0-alpha5 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha5 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha6 - Description: ConstraintLayout for Android 1.0.0-alpha6 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha6 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha7 - Description: ConstraintLayout for Android 1.0.0-alpha7 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha7 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha8 - Description: ConstraintLayout for Android 1.0.0-alpha8 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha8 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha9 - Description: ConstraintLayout for Android 1.0.0-alpha9 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha9 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta1 - Description: ConstraintLayout for Android 1.0.0-beta1 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta2 - Description: ConstraintLayout for Android 1.0.0-beta2 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta2 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta3 - Description: ConstraintLayout for Android 1.0.0-beta3 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta3 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4 - Description: ConstraintLayout for Android 1.0.0-beta4 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta5 - Description: ConstraintLayout for Android 1.0.0-beta5 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta5 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 - Description: ConstraintLayout for Android 1.0.1 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1 - -extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 - Description: ConstraintLayout for Android 1.0.2 - Version: 1 - Dependencies: - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2 - -lldb;2.0 - Description: LLDB 2.0 - Version: 2.0.2558144 - -lldb;2.1 - Description: LLDB 2.1 - Version: 2.1.2852477 - -lldb;2.2 - Description: LLDB 2.2 - Version: 2.2.3271982 - Dependencies: - patcher;v4 - -lldb;2.3 - Description: LLDB 2.3 - Version: 2.3.3614996 - Dependencies: - patcher;v4 - -ndk-bundle - Description: NDK - Version: 14.0.3770861 - -patcher;v4 - Description: SDK Patch Applier v4 - Version: 1 - -platform-tools - Description: Android SDK Platform-Tools - Version: 25.0.3 - -platforms;android-10 - Description: Android SDK Platform 10 - Version: 2 - -platforms;android-11 - Description: Android SDK Platform 11 - Version: 2 - -platforms;android-12 - Description: Android SDK Platform 12 - Version: 3 - -platforms;android-13 - Description: Android SDK Platform 13 - Version: 1 - -platforms;android-14 - Description: Android SDK Platform 14 - Version: 4 - -platforms;android-15 - Description: Android SDK Platform 15 - Version: 5 - -platforms;android-16 - Description: Android SDK Platform 16 - Version: 5 - -platforms;android-17 - Description: Android SDK Platform 17 - Version: 3 - -platforms;android-18 - Description: Android SDK Platform 18 - Version: 3 - -platforms;android-19 - Description: Android SDK Platform 19 - Version: 4 - -platforms;android-20 - Description: Android SDK Platform 20 - Version: 2 - -platforms;android-21 - Description: Android SDK Platform 21 - Version: 2 - -platforms;android-22 - Description: Android SDK Platform 22 - Version: 2 - -platforms;android-23 - Description: Android SDK Platform 23 - Version: 3 - -platforms;android-24 - Description: Android SDK Platform 24 - Version: 2 - -platforms;android-25 - Description: Android SDK Platform 25 - Version: 3 - -platforms;android-7 - Description: Android SDK Platform 7 - Version: 3 - -platforms;android-8 - Description: Android SDK Platform 8 - Version: 3 - -platforms;android-9 - Description: Android SDK Platform 9 - Version: 2 - -sources;android-15 - Description: Sources for Android 15 - Version: 2 - -sources;android-16 - Description: Sources for Android 16 - Version: 2 - -sources;android-17 - Description: Sources for Android 17 - Version: 1 - -sources;android-18 - Description: Sources for Android 18 - Version: 1 - -sources;android-19 - Description: Sources for Android 19 - Version: 2 - -sources;android-20 - Description: Sources for Android 20 - Version: 1 - -sources;android-21 - Description: Sources for Android 21 - Version: 1 - -sources;android-22 - Description: Sources for Android 22 - Version: 1 - -sources;android-23 - Description: Sources for Android 23 - Version: 1 - -sources;android-24 - Description: Sources for Android 24 - Version: 1 - -sources;android-25 - Description: Sources for Android 25 - Version: 1 - -system-images;android-10;default;armeabi-v7a - Description: ARM EABI v7a System Image - Version: 4 - -system-images;android-10;default;x86 - Description: Intel x86 Atom System Image - Version: 4 - -system-images;android-10;google_apis;armeabi-v7a - Description: Google APIs ARM EABI v7a System Image - Version: 5 - -system-images;android-10;google_apis;x86 - Description: Google APIs Intel x86 Atom System Image - Version: 5 - -system-images;android-14;default;armeabi-v7a - Description: ARM EABI v7a System Image - Version: 2 - -system-images;android-15;default;armeabi-v7a - Description: ARM EABI v7a System Image - Version: 4 - Dependencies: - patcher;v4 - -system-images;android-15;default;mips - Description: MIPS System Image - Version: 1 - -system-images;android-15;default;x86 - Description: Intel x86 Atom System Image - Version: 4 - -system-images;android-15;google_apis;armeabi-v7a - Description: Google APIs ARM EABI v7a System Image - Version: 5 - -system-images;android-15;google_apis;x86 - Description: Google APIs Intel x86 Atom System Image - Version: 5 - -system-images;android-16;default;armeabi-v7a - Description: ARM EABI v7a System Image - Version: 4 - -system-images;android-16;default;mips - Description: MIPS System Image - Version: 1 - -system-images;android-16;default;x86 - Description: Intel x86 Atom System Image - Version: 5 - -system-images;android-16;google_apis;armeabi-v7a - Description: Google APIs ARM EABI v7a System Image - Version: 5 - -system-images;android-16;google_apis;x86 - Description: Google APIs Intel x86 Atom System Image - Version: 5 - -system-images;android-17;default;armeabi-v7a - Description: ARM EABI v7a System Image - Version: 5 - Dependencies: - patcher;v4 - -system-images;android-17;default;mips - Description: MIPS System Image - Version: 1 - -system-images;android-17;default;x86 - Description: Intel x86 Atom System Image - Version: 3 - Dependencies: - patcher;v4 - -system-images;android-17;google_apis;armeabi-v7a - Description: Google APIs ARM EABI v7a System Image - Version: 5 - -system-images;android-17;google_apis;x86 - Description: Google APIs Intel x86 Atom System Image - Version: 5 - -system-images;android-18;default;armeabi-v7a - Description: ARM EABI v7a System Image - Version: 4 - Dependencies: - patcher;v4 - -system-images;android-18;default;x86 - Description: Intel x86 Atom System Image - Version: 3 - Dependencies: - patcher;v4 - -system-images;android-18;google_apis;armeabi-v7a - Description: Google APIs ARM EABI v7a System Image - Version: 5 - -system-images;android-18;google_apis;x86 - Description: Google APIs Intel x86 Atom System Image - Version: 5 - -system-images;android-19;default;armeabi-v7a - Description: ARM EABI v7a System Image - Version: 5 - Dependencies: - patcher;v4 - -system-images;android-19;default;x86 - Description: Intel x86 Atom System Image - Version: 5 - Dependencies: - patcher;v4 - -system-images;android-19;google_apis;armeabi-v7a - Description: Google APIs ARM EABI v7a System Image - Version: 27 - Dependencies: - patcher;v4 - -system-images;android-19;google_apis;x86 - Description: Google APIs Intel x86 Atom System Image - Version: 27 - Dependencies: - patcher;v4 - -system-images;android-21;android-tv;armeabi-v7a - Description: Android TV ARM EABI v7a System Image - Version: 3 - -system-images;android-21;android-tv;x86 - Description: Android TV Intel x86 Atom System Image - Version: 3 - -system-images;android-21;default;armeabi-v7a - Description: ARM EABI v7a System Image - Version: 4 - Dependencies: - patcher;v4 - -system-images;android-21;default;x86 - Description: Intel x86 Atom System Image - Version: 4 - Dependencies: - patcher;v4 - -system-images;android-21;default;x86_64 - Description: Intel x86 Atom_64 System Image - Version: 4 - Dependencies: - patcher;v4 - -system-images;android-21;google_apis;armeabi-v7a - Description: Google APIs ARM EABI v7a System Image - Version: 19 - Dependencies: - patcher;v4 - -system-images;android-21;google_apis;x86 - Description: Google APIs Intel x86 Atom System Image - Version: 19 - Dependencies: - patcher;v4 - -system-images;android-21;google_apis;x86_64 - Description: Google APIs Intel x86 Atom_64 System Image - Version: 19 - Dependencies: - patcher;v4 - -system-images;android-22;android-tv;armeabi-v7a - Description: Android TV ARM EABI v7a System Image - Version: 1 - -system-images;android-22;android-tv;x86 - Description: Android TV Intel x86 Atom System Image - Version: 3 - -system-images;android-22;default;armeabi-v7a - Description: ARM EABI v7a System Image - Version: 2 - Dependencies: - patcher;v4 - -system-images;android-22;default;x86 - Description: Intel x86 Atom System Image - Version: 5 - Dependencies: - patcher;v4 - -system-images;android-22;default;x86_64 - Description: Intel x86 Atom_64 System Image - Version: 5 - Dependencies: - patcher;v4 - -system-images;android-22;google_apis;armeabi-v7a - Description: Google APIs ARM EABI v7a System Image - Version: 13 - Dependencies: - patcher;v4 - -system-images;android-22;google_apis;x86 - Description: Google APIs Intel x86 Atom System Image - Version: 13 - Dependencies: - patcher;v4 - -system-images;android-22;google_apis;x86_64 - Description: Google APIs Intel x86 Atom_64 System Image - Version: 13 - Dependencies: - patcher;v4 - -system-images;android-23;android-tv;armeabi-v7a - Description: Android TV ARM EABI v7a System Image - Version: 3 - -system-images;android-23;android-tv;x86 - Description: Android TV Intel x86 Atom System Image - Version: 9 - Dependencies: - patcher;v4 - -system-images;android-23;android-wear;armeabi-v7a - Description: Android Wear ARM EABI v7a System Image - Version: 6 - Dependencies: - patcher;v4 - -system-images;android-23;android-wear;x86 - Description: Android Wear Intel x86 Atom System Image - Version: 6 - Dependencies: - patcher;v4 - -system-images;android-23;default;x86 - Description: Intel x86 Atom System Image - Version: 9 - Dependencies: - patcher;v4 - -system-images;android-23;default;x86_64 - Description: Intel x86 Atom_64 System Image - Version: 9 - Dependencies: - patcher;v4 - -system-images;android-23;google_apis;armeabi-v7a - Description: Google APIs ARM EABI v7a System Image - Version: 20 - Dependencies: - patcher;v4 - -system-images;android-23;google_apis;x86 - Description: Google APIs Intel x86 Atom System Image - Version: 20 - Dependencies: - patcher;v4 - -system-images;android-23;google_apis;x86_64 - Description: Google APIs Intel x86 Atom_64 System Image - Version: 20 - Dependencies: - patcher;v4 - -system-images;android-24;android-tv;x86 - Description: Android TV Intel x86 Atom System Image - Version: 10 - Dependencies: - patcher;v4 - -system-images;android-24;default;arm64-v8a - Description: ARM 64 v8a System Image - Version: 7 - -system-images;android-24;default;armeabi-v7a - Description: ARM EABI v7a System Image - Version: 7 - Dependencies: - patcher;v4 - -system-images;android-24;default;x86 - Description: Intel x86 Atom System Image - Version: 7 - -system-images;android-24;default;x86_64 - Description: Intel x86 Atom_64 System Image - Version: 7 - Dependencies: - patcher;v4 - -system-images;android-24;google_apis;arm64-v8a - Description: Google APIs ARM 64 v8a System Image - Version: 11 - Dependencies: - patcher;v4 - -system-images;android-24;google_apis;armeabi-v7a - Description: Google APIs ARM EABI v7a System Image - Version: 11 - Dependencies: - patcher;v4 - -system-images;android-24;google_apis;x86 - Description: Google APIs Intel x86 Atom System Image - Version: 11 - Dependencies: - patcher;v4 - -system-images;android-24;google_apis;x86_64 - Description: Google APIs Intel x86 Atom_64 System Image - Version: 11 - Dependencies: - patcher;v4 - -system-images;android-25;android-tv;x86 - Description: Android TV Intel x86 Atom System Image - Version: 3 - -system-images;android-25;android-wear;armeabi-v7a - Description: Android Wear ARM EABI v7a System Image - Version: 3 - Dependencies: - patcher;v4 - -system-images;android-25;android-wear;x86 - Description: Android Wear Intel x86 Atom System Image - Version: 3 - Dependencies: - patcher;v4 - -system-images;android-25;google_apis;arm64-v8a - Description: Google APIs ARM 64 v8a System Image - Version: 4 - -system-images;android-25;google_apis;armeabi-v7a - Description: Google APIs ARM EABI v7a System Image - Version: 4 - -system-images;android-25;google_apis;x86 - Description: Google APIs Intel x86 Atom System Image - Version: 4 - -system-images;android-25;google_apis;x86_64 - Description: Google APIs Intel x86 Atom_64 System Image - Version: 4 - -tools - Description: Android SDK Tools - Version: 25.3.1 - Dependencies: - emulator - platform-tools Revision 20 - -Available Updates: --------------------------------------- -extras;android;m2repository - Local Version: 44.0.0 - Remote Version: 45.0.0 -extras;google;google_play_services - Local Version: 38.0.0 - Remote Version: 39 -system-images;android-19;google_apis;x86 - Local Version: 26 - Remote Version: 27 -system-images;android-21;google_apis;x86_64 - Local Version: 18 - Remote Version: 19 -system-images;android-22;google_apis;x86_64 - Local Version: 12 - Remote Version: 13 -system-images;android-23;google_apis;x86_64 - Local Version: 19 - Remote Version: 20 -system-images;android-24;google_apis;x86_64 - Local Version: 10 - Remote Version: 11 -system-images;android-25;google_apis;x86_64 - Local Version: 3 - Remote Version: 4 -done diff --git a/spec/unit/android_sdk.spec.js b/spec/unit/android_sdk.spec.js index a796a98e..b2117af9 100644 --- a/spec/unit/android_sdk.spec.js +++ b/spec/unit/android_sdk.spec.js @@ -29,7 +29,7 @@ describe("android_sdk", function () { it("should parse and return results from `android list targets` command", function(done) { var deferred = Q.defer(); spyOn(superspawn, "spawn").and.returnValue(deferred.promise); - deferred.resolve(fs.readFileSync(path.join("spec", "fixtures", "android_list_targets.txt"), "utf-8")); + deferred.resolve(fs.readFileSync(path.join("spec", "fixtures", "sdk25.2-android_list_targets.txt"), "utf-8")); return android_sdk.list_targets_with_android() .then(function(list) { [ "Google Inc.:Google APIs:23", @@ -53,26 +53,14 @@ describe("android_sdk", function () { }); }); }); - describe("list_targets_with_sdkmanager", function() { - it("should parse and return results from `sdkmanager --list` command", function(done) { + describe("list_targets_with_avdmanager", function() { + it("should parse and return results from `avdmanager list target` command", function(done) { var deferred = Q.defer(); spyOn(superspawn, "spawn").and.returnValue(deferred.promise); - deferred.resolve(fs.readFileSync(path.join("spec", "fixtures", "sdkmanager_list.txt"), "utf-8")); - return android_sdk.list_targets_with_sdkmanager() + deferred.resolve(fs.readFileSync(path.join("spec", "fixtures", "sdk25.3-avdmanager_list_target.txt"), "utf-8")); + return android_sdk.list_targets_with_avdmanager() .then(function(list) { - [ "Google Inc.:Google APIs:19", - "Google Inc.:Google APIs:21", - "Google Inc.:Google APIs:22", - "Google Inc.:Google APIs:23", - "Google Inc.:Google APIs:24", - "android-19", - "android-21", - "android-22", - "android-23", - "android-24", - "android-25" ].forEach(function(target) { - expect(list).toContain(target); - }); + expect(list).toContain("android-25"); }).fail(function(err) { console.log(err); expect(err).toBeUndefined(); @@ -82,25 +70,24 @@ describe("android_sdk", function () { }); }); describe("list_targets", function() { - it("should parse Android SDK installed target information with `android` command first", function() { + it("should parse Android SDK installed target information with `avdmanager` command first", function() { var deferred = Q.defer(); - var android_spy = spyOn(android_sdk, "list_targets_with_android").and.returnValue(deferred.promise); + var avdmanager_spy = spyOn(android_sdk, "list_targets_with_avdmanager").and.returnValue(deferred.promise); android_sdk.list_targets(); - expect(android_spy).toHaveBeenCalled(); + expect(avdmanager_spy).toHaveBeenCalled(); }); - it("should parse Android SDK installed target information with `avdmanager` command if list_targets_with_android fails due to `android` command being obsolete", function(done) { + it("should parse Android SDK installed target information with `android` command if list_targets_with_avdmanager fails with ENOENT", function(done) { var deferred = Q.defer(); - spyOn(android_sdk, "list_targets_with_android").and.returnValue(deferred.promise); + spyOn(android_sdk, "list_targets_with_avdmanager").and.returnValue(deferred.promise); deferred.reject({ - code: 1, - stdout: "The android command is no longer available." + code: "ENOENT" }); var twoferred = Q.defer(); twoferred.resolve(["target1"]); - var sdkmanager_spy = spyOn(android_sdk, "list_targets_with_sdkmanager").and.returnValue(twoferred.promise); + var avdmanager_spy = spyOn(android_sdk, "list_targets_with_android").and.returnValue(twoferred.promise); return android_sdk.list_targets() .then(function(targets) { - expect(sdkmanager_spy).toHaveBeenCalled(); + expect(avdmanager_spy).toHaveBeenCalled(); expect(targets[0]).toEqual("target1"); done(); }); diff --git a/spec/unit/emulator.spec.js b/spec/unit/emulator.spec.js index 42f69380..c9298eaf 100644 --- a/spec/unit/emulator.spec.js +++ b/spec/unit/emulator.spec.js @@ -28,7 +28,7 @@ describe("emulator", function () { it("should properly parse details of SDK Tools 25.3.1 `avdmanager` output", function(done) { var deferred = Q.defer(); spyOn(cc.superspawn, "spawn").and.returnValue(deferred.promise); - deferred.resolve(fs.readFileSync(path.join("spec", "fixtures", "avdmanager_list_avd.txt"), "utf-8")); + deferred.resolve(fs.readFileSync(path.join("spec", "fixtures", "sdk25.3-avdmanager_list_avd.txt"), "utf-8")); return emu.list_images_using_avdmanager() .then(function(list) { expect(list).toBeDefined(); @@ -47,7 +47,7 @@ describe("emulator", function () { it("should properly parse details of SDK Tools pre-25.3.1 `android list avd` output", function(done) { var deferred = Q.defer(); spyOn(cc.superspawn, "spawn").and.returnValue(deferred.promise); - deferred.resolve(fs.readFileSync(path.join("spec", "fixtures", "android_list_avd.txt"), "utf-8")); + deferred.resolve(fs.readFileSync(path.join("spec", "fixtures", "sdk25.2-android_list_avd.txt"), "utf-8")); return emu.list_images_using_android() .then(function(list) { expect(list).toBeDefined();