nativescript 8.9.0-dev.2 → 8.9.0-dev.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/test-deps-versions-generated.json +1 -1
- package/docs/man_pages/project/configuration/widget-ios.md +24 -0
- package/docs/man_pages/project/configuration/widget.md +24 -0
- package/docs/man_pages/start.md +1 -1
- package/lib/android-tools-info.js +11 -22
- package/lib/base-package-manager.js +53 -70
- package/lib/bun-package-manager.js +75 -98
- package/lib/color.js +4 -4
- package/lib/commands/add-platform.js +14 -30
- package/lib/commands/apple-login.js +18 -29
- package/lib/commands/appstore-list.js +34 -45
- package/lib/commands/appstore-upload.js +54 -67
- package/lib/commands/build.js +55 -87
- package/lib/commands/clean.js +169 -184
- package/lib/commands/command-base.js +14 -27
- package/lib/commands/config.js +49 -68
- package/lib/commands/create-project.js +215 -234
- package/lib/commands/debug.js +66 -88
- package/lib/commands/deploy.js +28 -44
- package/lib/commands/embedding/embed.js +37 -56
- package/lib/commands/extensibility/install-extension.js +5 -16
- package/lib/commands/extensibility/list-extensions.js +13 -24
- package/lib/commands/extensibility/uninstall-extension.js +4 -15
- package/lib/commands/fonts.js +30 -41
- package/lib/commands/generate-assets.js +13 -28
- package/lib/commands/generate-help.js +2 -13
- package/lib/commands/generate.js +49 -60
- package/lib/commands/info.js +2 -13
- package/lib/commands/install.js +34 -49
- package/lib/commands/list-platforms.js +14 -25
- package/lib/commands/migrate.js +15 -26
- package/lib/commands/native-add.js +23 -46
- package/lib/commands/platform-clean.js +19 -32
- package/lib/commands/plugin/add-plugin.js +12 -25
- package/lib/commands/plugin/build-plugin.js +31 -44
- package/lib/commands/plugin/create-plugin.js +114 -137
- package/lib/commands/plugin/list-plugins.js +22 -33
- package/lib/commands/plugin/remove-plugin.js +21 -34
- package/lib/commands/plugin/update-plugin.js +20 -33
- package/lib/commands/post-install.js +25 -38
- package/lib/commands/prepare.js +19 -35
- package/lib/commands/preview.js +50 -63
- package/lib/commands/remove-platform.js +7 -18
- package/lib/commands/resources/resources-update.js +14 -27
- package/lib/commands/run.js +55 -76
- package/lib/commands/start.js +6 -19
- package/lib/commands/test-init.js +126 -137
- package/lib/commands/test.js +72 -95
- package/lib/commands/typings.js +126 -142
- package/lib/commands/update-platform.js +26 -39
- package/lib/commands/update.js +31 -44
- package/lib/commands/widget.js +408 -357
- package/lib/common/child-process.js +53 -72
- package/lib/common/codeGeneration/code-entity.js +1 -1
- package/lib/common/codeGeneration/code-printer.js +1 -1
- package/lib/common/command-params.js +7 -18
- package/lib/common/commands/analytics.js +29 -42
- package/lib/common/commands/autocompletion.js +41 -58
- package/lib/common/commands/device/device-log-stream.js +12 -23
- package/lib/common/commands/device/get-file.js +23 -34
- package/lib/common/commands/device/list-applications.js +12 -23
- package/lib/common/commands/device/list-devices.js +72 -87
- package/lib/common/commands/device/list-files.js +24 -35
- package/lib/common/commands/device/put-file.js +23 -34
- package/lib/common/commands/device/run-application.js +12 -25
- package/lib/common/commands/device/stop-application.js +11 -22
- package/lib/common/commands/device/uninstall-application.js +6 -17
- package/lib/common/commands/generate-messages.js +17 -28
- package/lib/common/commands/help.js +20 -33
- package/lib/common/commands/package-manager-get.js +6 -17
- package/lib/common/commands/package-manager-set.js +9 -20
- package/lib/common/commands/post-install.js +2 -13
- package/lib/common/commands/preuninstall.js +27 -42
- package/lib/common/commands/proxy/proxy-base.js +11 -22
- package/lib/common/commands/proxy/proxy-clear.js +4 -15
- package/lib/common/commands/proxy/proxy-get.js +3 -14
- package/lib/common/commands/proxy/proxy-set.js +87 -100
- package/lib/common/constants.js +11 -11
- package/lib/common/decorators.js +10 -22
- package/lib/common/dispatchers.js +84 -101
- package/lib/common/errors.js +92 -107
- package/lib/common/file-system.js +110 -132
- package/lib/common/header.js +1 -2
- package/lib/common/helpers.js +149 -178
- package/lib/common/host-info.js +40 -53
- package/lib/common/http-client.js +104 -119
- package/lib/common/logger/appenders/cli-appender.js +1 -2
- package/lib/common/logger/appenders/emit-appender.js +1 -2
- package/lib/common/logger/layouts/cli-layout.js +1 -2
- package/lib/common/logger/logger.js +4 -4
- package/lib/common/mobile/android/android-application-manager.js +138 -159
- package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
- package/lib/common/mobile/android/android-debug-bridge.js +92 -117
- package/lib/common/mobile/android/android-device-file-system.js +101 -134
- package/lib/common/mobile/android/android-device-hash-service.js +52 -77
- package/lib/common/mobile/android/android-device.js +73 -90
- package/lib/common/mobile/android/android-emulator-services.js +105 -130
- package/lib/common/mobile/android/android-log-filter.js +1 -1
- package/lib/common/mobile/android/android-virtual-device-service.js +78 -99
- package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
- package/lib/common/mobile/android/genymotion/genymotion-service.js +94 -121
- package/lib/common/mobile/android/genymotion/virtualbox-service.js +74 -91
- package/lib/common/mobile/android/logcat-helper.js +114 -133
- package/lib/common/mobile/application-manager-base.js +89 -112
- package/lib/common/mobile/device-log-provider-base.js +7 -18
- package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
- package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
- package/lib/common/mobile/ios/device/ios-device-operations.js +106 -143
- package/lib/common/mobile/ios/device/ios-device.js +20 -36
- package/lib/common/mobile/ios/ios-device-base.js +58 -81
- package/lib/common/mobile/ios/simulator/ios-emulator-services.js +66 -95
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +61 -90
- package/lib/common/mobile/ios/simulator/ios-simulator-device.js +31 -47
- package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
- package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
- package/lib/common/mobile/mobile-core/android-device-discovery.js +44 -63
- package/lib/common/mobile/mobile-core/android-emulator-discovery.js +23 -34
- package/lib/common/mobile/mobile-core/android-process-service.js +174 -213
- package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
- package/lib/common/mobile/mobile-core/devices-service.js +400 -450
- package/lib/common/mobile/mobile-core/ios-device-discovery.js +25 -36
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +49 -64
- package/lib/common/mobile/mobile-helper.js +15 -26
- package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
- package/lib/common/opener.js +2 -2
- package/lib/common/prompter.js +91 -106
- package/lib/common/queue.js +9 -20
- package/lib/common/services/auto-completion-service.js +40 -53
- package/lib/common/services/cancellation.js +17 -28
- package/lib/common/services/commands-service.js +156 -179
- package/lib/common/services/help-service.js +130 -155
- package/lib/common/services/hooks-service.js +99 -114
- package/lib/common/services/ios-notification-service.js +21 -34
- package/lib/common/services/json-file-settings-service.js +56 -75
- package/lib/common/services/lock-service.js +35 -52
- package/lib/common/services/message-contract-generator.js +35 -46
- package/lib/common/services/micro-templating-service.js +6 -17
- package/lib/common/services/net-service.js +92 -109
- package/lib/common/services/project-files-manager.js +10 -23
- package/lib/common/services/proxy-service.js +13 -24
- package/lib/common/services/qr.js +13 -24
- package/lib/common/services/settings-service.js +1 -1
- package/lib/common/services/xcode-select-service.js +20 -35
- package/lib/common/utils.js +2 -2
- package/lib/common/validators/project-name-validator.js +1 -1
- package/lib/common/validators/validation-result.js +1 -1
- package/lib/common/verify-node-version.js +2 -3
- package/lib/common/yok.js +25 -38
- package/lib/config.js +41 -56
- package/lib/constants.js +24 -24
- package/lib/controllers/build-controller.js +82 -99
- package/lib/controllers/debug-controller.js +111 -132
- package/lib/controllers/deploy-controller.js +15 -23
- package/lib/controllers/migrate-controller.js +780 -853
- package/lib/controllers/platform-controller.js +74 -89
- package/lib/controllers/prepare-controller.js +241 -270
- package/lib/controllers/run-controller.js +411 -425
- package/lib/controllers/update-controller-base.js +16 -29
- package/lib/controllers/update-controller.js +101 -126
- package/lib/data/prepare-data.js +4 -1
- package/lib/definitions/project.d.ts +24 -24
- package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
- package/lib/detached-processes/cleanup-process.js +16 -25
- package/lib/device-path-provider.js +23 -34
- package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +155 -170
- package/lib/device-sockets/ios/notification.js +1 -1
- package/lib/device-sockets/ios/socket-request-executor.js +26 -41
- package/lib/helpers/android-bundle-validator-helper.js +1 -1
- package/lib/helpers/deploy-command-helper.js +44 -49
- package/lib/helpers/key-command-helper.js +4 -13
- package/lib/helpers/livesync-command-helper.js +138 -153
- package/lib/helpers/network-connectivity-validator.js +6 -17
- package/lib/helpers/options-track-helper.js +6 -17
- package/lib/helpers/platform-command-helper.js +103 -124
- package/lib/key-commands/index.js +150 -200
- package/lib/nativescript-cli.js +5 -14
- package/lib/node-package-manager.js +90 -113
- package/lib/options.js +4 -13
- package/lib/package-installation-manager.js +132 -167
- package/lib/package-manager.js +64 -87
- package/lib/platform-command-param.js +4 -15
- package/lib/pnpm-package-manager.js +60 -79
- package/lib/project-data.js +1 -1
- package/lib/providers/project-files-provider.js +1 -1
- package/lib/services/analytics/analytics-broker-process.js +13 -22
- package/lib/services/analytics/analytics-broker.js +17 -30
- package/lib/services/analytics/analytics-service.js +165 -201
- package/lib/services/analytics/google-analytics-provider.js +41 -56
- package/lib/services/analytics-settings-service.js +15 -32
- package/lib/services/android/android-bundle-tool-service.js +43 -60
- package/lib/services/android/gradle-build-args-service.js +10 -21
- package/lib/services/android/gradle-build-service.js +22 -35
- package/lib/services/android/gradle-command-service.js +22 -35
- package/lib/services/android-device-debug-service.js +92 -119
- package/lib/services/android-plugin-build-service.js +219 -245
- package/lib/services/android-project-service.js +134 -179
- package/lib/services/android-resources-migration-service.js +57 -70
- package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
- package/lib/services/apple-portal/apple-portal-session-service.js +196 -215
- package/lib/services/apple-portal/srp/srp-wrapper.js +45 -60
- package/lib/services/assets-generation/assets-generation-service.js +114 -128
- package/lib/services/build-artifacts-service.js +9 -20
- package/lib/services/build-info-file-service.js +20 -35
- package/lib/services/cleanup-service.js +47 -76
- package/lib/services/cocoapods-service.js +124 -145
- package/lib/services/device/device-install-app-service.js +54 -71
- package/lib/services/doctor-service.js +106 -125
- package/lib/services/extensibility-service.js +87 -106
- package/lib/services/files-hash-service.js +26 -43
- package/lib/services/hmr-status-service.js +1 -1
- package/lib/services/initialize-service.js +38 -51
- package/lib/services/ios/export-options-plist-service.js +41 -54
- package/lib/services/ios/ios-signing-service.js +171 -190
- package/lib/services/ios/spm-service.js +52 -65
- package/lib/services/ios/xcodebuild-args-service.js +77 -94
- package/lib/services/ios/xcodebuild-command-service.js +14 -25
- package/lib/services/ios/xcodebuild-service.js +52 -71
- package/lib/services/ios-debugger-port-service.js +24 -37
- package/lib/services/ios-device-debug-service.js +75 -102
- package/lib/services/ios-entitlements-service.js +31 -42
- package/lib/services/ios-extensions-service.js +18 -29
- package/lib/services/ios-project-service.js +530 -591
- package/lib/services/ios-provision-service.js +110 -131
- package/lib/services/ios-watch-app-service.js +21 -32
- package/lib/services/ip-service.js +39 -54
- package/lib/services/itmstransporter-service.js +129 -152
- package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
- package/lib/services/livesync/android-device-livesync-service.js +121 -150
- package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -154
- package/lib/services/livesync/android-livesync-service.js +14 -35
- package/lib/services/livesync/android-livesync-tool.js +90 -113
- package/lib/services/livesync/device-livesync-service-base.js +16 -29
- package/lib/services/livesync/ios-device-livesync-service.js +120 -149
- package/lib/services/livesync/ios-livesync-service.js +43 -59
- package/lib/services/livesync/platform-livesync-service-base.js +98 -123
- package/lib/services/log-parser-service.js +1 -1
- package/lib/services/log-source-map-service.js +31 -42
- package/lib/services/marking-mode-service.js +17 -30
- package/lib/services/npm-config-service.js +1 -1
- package/lib/services/pacote-service.js +54 -69
- package/lib/services/performance-service.js +1 -1
- package/lib/services/platform/add-platform-service.js +57 -78
- package/lib/services/platform/platform-validation-service.js +22 -33
- package/lib/services/platform/prepare-native-platform-service.js +51 -64
- package/lib/services/platform-environment-requirements.js +27 -38
- package/lib/services/plugins-service.js +126 -151
- package/lib/services/project-backup-service.js +1 -1
- package/lib/services/project-changes-service.js +126 -143
- package/lib/services/project-cleanup-service.js +65 -78
- package/lib/services/project-config-service.js +78 -88
- package/lib/services/project-data-service.js +112 -129
- package/lib/services/project-name-service.js +28 -43
- package/lib/services/project-service.js +90 -109
- package/lib/services/project-templates-service.js +52 -67
- package/lib/services/start-service.js +41 -59
- package/lib/services/temp-service.js +8 -21
- package/lib/services/terminal-spinner-service.js +15 -26
- package/lib/services/test-execution-service.js +64 -77
- package/lib/services/test-initialization-service.js +2 -2
- package/lib/services/timeline-profiler-service.js +1 -1
- package/lib/services/versions-service.js +120 -139
- package/lib/services/webpack/webpack-compiler-service.js +228 -251
- package/lib/services/xcconfig-service.js +8 -19
- package/lib/sys-info.js +45 -62
- package/lib/tools/node-modules/node-modules-builder.js +16 -27
- package/lib/yarn-package-manager.js +59 -78
- package/lib/yarn2-package-manager.js +62 -81
- package/package.json +67 -82
- package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
- package/node_modules/@npmcli/move-file/README.md +0 -69
- package/node_modules/@npmcli/move-file/lib/index.js +0 -185
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
- package/node_modules/@npmcli/move-file/package.json +0 -47
- package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
- package/node_modules/balanced-match/LICENSE.md +0 -21
- package/node_modules/balanced-match/README.md +0 -97
- package/node_modules/balanced-match/index.js +0 -62
- package/node_modules/balanced-match/package.json +0 -48
- package/node_modules/concat-map/.travis.yml +0 -4
- package/node_modules/concat-map/LICENSE +0 -18
- package/node_modules/concat-map/README.markdown +0 -62
- package/node_modules/concat-map/example/map.js +0 -6
- package/node_modules/concat-map/index.js +0 -13
- package/node_modules/concat-map/package.json +0 -43
- package/node_modules/concat-map/test/map.js +0 -39
- package/node_modules/fs.realpath/LICENSE +0 -43
- package/node_modules/fs.realpath/README.md +0 -33
- package/node_modules/fs.realpath/index.js +0 -66
- package/node_modules/fs.realpath/old.js +0 -303
- package/node_modules/fs.realpath/package.json +0 -26
- package/node_modules/inflight/LICENSE +0 -15
- package/node_modules/inflight/README.md +0 -37
- package/node_modules/inflight/inflight.js +0 -54
- package/node_modules/inflight/package.json +0 -29
- package/node_modules/inherits/LICENSE +0 -16
- package/node_modules/inherits/README.md +0 -42
- package/node_modules/inherits/inherits.js +0 -9
- package/node_modules/inherits/inherits_browser.js +0 -27
- package/node_modules/inherits/package.json +0 -29
- package/node_modules/once/LICENSE +0 -15
- package/node_modules/once/README.md +0 -79
- package/node_modules/once/once.js +0 -42
- package/node_modules/once/package.json +0 -33
- package/node_modules/path-is-absolute/index.js +0 -20
- package/node_modules/path-is-absolute/license +0 -21
- package/node_modules/path-is-absolute/package.json +0 -43
- package/node_modules/path-is-absolute/readme.md +0 -59
- package/node_modules/rimraf/LICENSE +0 -15
- package/node_modules/rimraf/README.md +0 -101
- package/node_modules/rimraf/bin.js +0 -68
- package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
- package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
- package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
- package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
- package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
- package/node_modules/rimraf/node_modules/glob/README.md +0 -378
- package/node_modules/rimraf/node_modules/glob/common.js +0 -238
- package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
- package/node_modules/rimraf/node_modules/glob/package.json +0 -55
- package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
- package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
- package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
- package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
- package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
- package/node_modules/rimraf/package.json +0 -32
- package/node_modules/rimraf/rimraf.js +0 -360
- package/node_modules/stringify-package/LICENSE +0 -13
- package/node_modules/stringify-package/README.md +0 -55
- package/node_modules/stringify-package/index.js +0 -18
- package/node_modules/stringify-package/package.json +0 -38
- package/node_modules/wrappy/LICENSE +0 -15
- package/node_modules/wrappy/README.md +0 -36
- package/node_modules/wrappy/package.json +0 -29
- package/node_modules/wrappy/wrappy.js +0 -33
|
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
9
|
exports.AndroidApplicationManager = void 0;
|
|
19
10
|
const os_1 = require("os");
|
|
@@ -40,154 +31,144 @@ class AndroidApplicationManager extends application_manager_base_1.ApplicationMa
|
|
|
40
31
|
this.PID_CHECK_INTERVAL = 100;
|
|
41
32
|
this.PID_CHECK_TIMEOUT = 10000; // 10 secs
|
|
42
33
|
}
|
|
43
|
-
getInstalledApplications() {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
.filter((parsedPackage) => parsedPackage !== null);
|
|
54
|
-
});
|
|
34
|
+
async getInstalledApplications() {
|
|
35
|
+
const result = (await this.adb.executeShellCommand(["pm", "list", "packages"])) || "";
|
|
36
|
+
const regex = /package:(.+)/;
|
|
37
|
+
return result
|
|
38
|
+
.split(os_1.EOL)
|
|
39
|
+
.map((packageString) => {
|
|
40
|
+
const match = packageString.match(regex);
|
|
41
|
+
return match ? match[1] : null;
|
|
42
|
+
})
|
|
43
|
+
.filter((parsedPackage) => parsedPackage !== null);
|
|
55
44
|
}
|
|
56
|
-
installApplication(packageFilePath, appIdentifier, buildData) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
signingData: buildData,
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
yield this.$androidBundleToolService.installApks({
|
|
73
|
-
apksFilePath: apksOutputPath,
|
|
74
|
-
deviceId: this.identifier,
|
|
45
|
+
async installApplication(packageFilePath, appIdentifier, buildData) {
|
|
46
|
+
if (appIdentifier) {
|
|
47
|
+
const deviceRootPath = `${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appIdentifier}`;
|
|
48
|
+
await this.adb.executeShellCommand(["rm", "-rf", deviceRootPath]);
|
|
49
|
+
}
|
|
50
|
+
const { dir, name, ext } = (0, path_1.parse)(packageFilePath);
|
|
51
|
+
if (ext === constants_2.AAB_EXTENSION_NAME) {
|
|
52
|
+
const apksOutputPath = (0, path_1.join)(dir, name) + constants_2.APKS_EXTENSION_NAME;
|
|
53
|
+
if (!this.hasValidApksFile(packageFilePath, apksOutputPath)) {
|
|
54
|
+
await this.$androidBundleToolService.buildApks({
|
|
55
|
+
aabFilePath: packageFilePath,
|
|
56
|
+
apksOutputPath,
|
|
57
|
+
signingData: buildData,
|
|
75
58
|
});
|
|
76
59
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
60
|
+
await this.$androidBundleToolService.installApks({
|
|
61
|
+
apksFilePath: apksOutputPath,
|
|
62
|
+
deviceId: this.identifier,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
return this.adb.executeCommand(["install", "-r", `${packageFilePath}`]);
|
|
67
|
+
}
|
|
81
68
|
}
|
|
82
69
|
uninstallApplication(appIdentifier) {
|
|
83
70
|
// Need to set the treatErrorsAsWarnings to true because when using tns run command if the application is not installed on the device it will throw error
|
|
84
71
|
return this.adb.executeShellCommand(["pm", "uninstall", `${appIdentifier}`], { treatErrorsAsWarnings: true });
|
|
85
72
|
}
|
|
86
|
-
startApplication(appData) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
`cat /dev/null > ${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appData.appId}-debugbreak`,
|
|
91
|
-
]);
|
|
92
|
-
}
|
|
93
|
-
// If the app is debuggable, the Runtime will update the file when its ready for debugging
|
|
94
|
-
// and we will be able to take decisions and synchronize the debug experience based on the content
|
|
95
|
-
yield this.adb.executeShellCommand([
|
|
96
|
-
`cat /dev/null > ${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appData.appId}-debugger-started`,
|
|
73
|
+
async startApplication(appData) {
|
|
74
|
+
if (appData.waitForDebugger) {
|
|
75
|
+
await this.adb.executeShellCommand([
|
|
76
|
+
`cat /dev/null > ${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appData.appId}-debugbreak`,
|
|
97
77
|
]);
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
78
|
+
}
|
|
79
|
+
// If the app is debuggable, the Runtime will update the file when its ready for debugging
|
|
80
|
+
// and we will be able to take decisions and synchronize the debug experience based on the content
|
|
81
|
+
await this.adb.executeShellCommand([
|
|
82
|
+
`cat /dev/null > ${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appData.appId}-debugger-started`,
|
|
83
|
+
]);
|
|
84
|
+
/*
|
|
85
|
+
Example "pm dump <app_identifier> | grep -A 1 MAIN" output"
|
|
86
|
+
android.intent.action.MAIN:
|
|
87
|
+
3b2df03 org.nativescript.cliapp/com.tns.NativeScriptActivity filter 50dd82e
|
|
88
|
+
Action: "android.intent.action.MAIN"
|
|
89
|
+
Category: "android.intent.category.LAUNCHER"
|
|
90
|
+
--
|
|
91
|
+
intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=org.nativescript.cliapp/com.tns.NativeScriptActivity}
|
|
92
|
+
realActivity=org.nativescript.cliapp/com.tns.NativeScriptActivity
|
|
93
|
+
--
|
|
94
|
+
Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=org.nativescript.cliapp/com.tns.NativeScriptActivity }
|
|
95
|
+
frontOfTask=true task=TaskRecord{fe592ac #449 A=org.nativescript.cliapp U=0 StackId=1 sz=1}
|
|
96
|
+
*/
|
|
97
|
+
const appIdentifier = appData.appId;
|
|
98
|
+
const pmDumpOutput = await this.adb.executeShellCommand([
|
|
99
|
+
"pm",
|
|
100
|
+
"dump",
|
|
101
|
+
appIdentifier,
|
|
102
|
+
"|",
|
|
103
|
+
"grep",
|
|
104
|
+
"-A",
|
|
105
|
+
"1",
|
|
106
|
+
"MAIN",
|
|
107
|
+
]);
|
|
108
|
+
const activityMatch = this.getFullyQualifiedActivityRegex(appIdentifier);
|
|
109
|
+
const match = activityMatch.exec(pmDumpOutput);
|
|
110
|
+
const possibleIdentifier = match && match[0];
|
|
111
|
+
if (possibleIdentifier) {
|
|
112
|
+
await this.adb.executeShellCommand([
|
|
113
|
+
"am",
|
|
114
|
+
"start",
|
|
115
|
+
"-n",
|
|
116
|
+
possibleIdentifier,
|
|
117
|
+
]);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
this.$logger.trace(`Tried starting activity for: ${appIdentifier}, using activity manager but failed.`);
|
|
121
|
+
await this.adb.executeShellCommand([
|
|
122
|
+
"monkey",
|
|
123
|
+
"-p",
|
|
115
124
|
appIdentifier,
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"-A",
|
|
125
|
+
"-c",
|
|
126
|
+
"android.intent.category.LAUNCHER",
|
|
119
127
|
"1",
|
|
120
|
-
"MAIN",
|
|
121
128
|
]);
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
129
|
+
}
|
|
130
|
+
await this.onAppLaunch(appData);
|
|
131
|
+
}
|
|
132
|
+
async onAppLaunch(appData) {
|
|
133
|
+
const appIdentifier = appData.appId;
|
|
134
|
+
if (!this.$options.justlaunch && !appData.justLaunch) {
|
|
135
|
+
const deviceIdentifier = this.identifier;
|
|
136
|
+
const processIdentifier = await this.getAppProcessId(deviceIdentifier, appIdentifier);
|
|
137
|
+
if (processIdentifier) {
|
|
138
|
+
this.$deviceLogProvider.setApplicationPidForDevice(deviceIdentifier, processIdentifier);
|
|
139
|
+
this.$deviceLogProvider.setApplicationIdForDevice(deviceIdentifier, appIdentifier);
|
|
140
|
+
this.$deviceLogProvider.setProjectDirForDevice(deviceIdentifier, appData.projectDir);
|
|
141
|
+
await this.$logcatHelper.start({
|
|
142
|
+
deviceIdentifier: this.identifier,
|
|
143
|
+
pid: processIdentifier,
|
|
144
|
+
appId: appIdentifier,
|
|
145
|
+
onAppRestarted: () => {
|
|
146
|
+
// If the app restarts, we update the PID and
|
|
147
|
+
// restart log helper.
|
|
148
|
+
this.onAppLaunch(appData);
|
|
149
|
+
},
|
|
150
|
+
});
|
|
132
151
|
}
|
|
133
152
|
else {
|
|
134
|
-
this.$
|
|
135
|
-
|
|
136
|
-
"monkey",
|
|
137
|
-
"-p",
|
|
138
|
-
appIdentifier,
|
|
139
|
-
"-c",
|
|
140
|
-
"android.intent.category.LAUNCHER",
|
|
141
|
-
"1",
|
|
142
|
-
]);
|
|
153
|
+
await this.$logcatHelper.dump(this.identifier);
|
|
154
|
+
this.$errors.fail(`Unable to find running "${appIdentifier}" application on device "${deviceIdentifier}".`);
|
|
143
155
|
}
|
|
144
|
-
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
onAppLaunch(appData) {
|
|
148
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
149
|
-
const appIdentifier = appData.appId;
|
|
150
|
-
if (!this.$options.justlaunch && !appData.justLaunch) {
|
|
151
|
-
const deviceIdentifier = this.identifier;
|
|
152
|
-
const processIdentifier = yield this.getAppProcessId(deviceIdentifier, appIdentifier);
|
|
153
|
-
if (processIdentifier) {
|
|
154
|
-
this.$deviceLogProvider.setApplicationPidForDevice(deviceIdentifier, processIdentifier);
|
|
155
|
-
this.$deviceLogProvider.setApplicationIdForDevice(deviceIdentifier, appIdentifier);
|
|
156
|
-
this.$deviceLogProvider.setProjectDirForDevice(deviceIdentifier, appData.projectDir);
|
|
157
|
-
yield this.$logcatHelper.start({
|
|
158
|
-
deviceIdentifier: this.identifier,
|
|
159
|
-
pid: processIdentifier,
|
|
160
|
-
appId: appIdentifier,
|
|
161
|
-
onAppRestarted: () => {
|
|
162
|
-
// If the app restarts, we update the PID and
|
|
163
|
-
// restart log helper.
|
|
164
|
-
this.onAppLaunch(appData);
|
|
165
|
-
},
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
yield this.$logcatHelper.dump(this.identifier);
|
|
170
|
-
this.$errors.fail(`Unable to find running "${appIdentifier}" application on device "${deviceIdentifier}".`);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
});
|
|
156
|
+
}
|
|
174
157
|
}
|
|
175
|
-
getAppProcessId(deviceIdentifier, appIdentifier) {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
new Date().getTime() - appIdCheckStartTime > this.PID_CHECK_TIMEOUT;
|
|
187
|
-
}
|
|
158
|
+
async getAppProcessId(deviceIdentifier, appIdentifier) {
|
|
159
|
+
const appIdCheckStartTime = new Date().getTime();
|
|
160
|
+
let processIdentifier = "";
|
|
161
|
+
let hasTimedOut = false;
|
|
162
|
+
while (!processIdentifier && !hasTimedOut) {
|
|
163
|
+
processIdentifier = await this.$androidProcessService.getAppProcessId(deviceIdentifier, appIdentifier);
|
|
164
|
+
if (!processIdentifier) {
|
|
165
|
+
this.$logger.trace(`Wasn't able to get pid of the app. Sleeping for "${this.PID_CHECK_INTERVAL}ms".`);
|
|
166
|
+
await (0, helpers_1.sleep)(this.PID_CHECK_INTERVAL);
|
|
167
|
+
hasTimedOut =
|
|
168
|
+
new Date().getTime() - appIdCheckStartTime > this.PID_CHECK_TIMEOUT;
|
|
188
169
|
}
|
|
189
|
-
|
|
190
|
-
|
|
170
|
+
}
|
|
171
|
+
return processIdentifier;
|
|
191
172
|
}
|
|
192
173
|
stopApplication(appData) {
|
|
193
174
|
this.$logcatHelper.stop(this.identifier);
|
|
@@ -202,25 +183,23 @@ class AndroidApplicationManager extends application_manager_base_1.ApplicationMa
|
|
|
202
183
|
getDebuggableApps() {
|
|
203
184
|
return this.$androidProcessService.getDebuggableApps(this.identifier);
|
|
204
185
|
}
|
|
205
|
-
getDebuggableAppViews(appIdentifiers) {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
applicationViews[appIdentifier] = JSON.parse(apps);
|
|
216
|
-
}
|
|
186
|
+
async getDebuggableAppViews(appIdentifiers) {
|
|
187
|
+
const mappedAppIdentifierPorts = await this.$androidProcessService.getMappedAbstractToTcpPorts(this.identifier, appIdentifiers, constants_1.TARGET_FRAMEWORK_IDENTIFIERS.Cordova), applicationViews = {};
|
|
188
|
+
await Promise.all(_.map(mappedAppIdentifierPorts, async (port, appIdentifier) => {
|
|
189
|
+
applicationViews[appIdentifier] = [];
|
|
190
|
+
const localAddress = `http://127.0.0.1:${port}/json`;
|
|
191
|
+
try {
|
|
192
|
+
if (port) {
|
|
193
|
+
const apps = (await this.$httpClient.httpRequest(localAddress))
|
|
194
|
+
.body;
|
|
195
|
+
applicationViews[appIdentifier] = JSON.parse(apps);
|
|
217
196
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
|
|
197
|
+
}
|
|
198
|
+
catch (err) {
|
|
199
|
+
this.$logger.trace(`Error while checking ${localAddress}. Error is: ${err.message}`);
|
|
200
|
+
}
|
|
201
|
+
}));
|
|
202
|
+
return applicationViews;
|
|
224
203
|
}
|
|
225
204
|
getFullyQualifiedActivityRegex(appIdentifier) {
|
|
226
205
|
const packageActivitySeparator = "\\/";
|
|
@@ -237,11 +216,11 @@ class AndroidApplicationManager extends application_manager_base_1.ApplicationMa
|
|
|
237
216
|
return isValid;
|
|
238
217
|
}
|
|
239
218
|
}
|
|
219
|
+
exports.AndroidApplicationManager = AndroidApplicationManager;
|
|
240
220
|
__decorate([
|
|
241
221
|
(0, helpers_1.hook)("install")
|
|
242
222
|
], AndroidApplicationManager.prototype, "installApplication", null);
|
|
243
223
|
__decorate([
|
|
244
224
|
(0, decorators_1.cache)()
|
|
245
225
|
], AndroidApplicationManager.prototype, "getFullyQualifiedActivityRegex", null);
|
|
246
|
-
exports.AndroidApplicationManager = AndroidApplicationManager;
|
|
247
226
|
//# sourceMappingURL=android-application-manager.js.map
|
|
@@ -46,6 +46,7 @@ class AndroidDebugBridgeResultHandler {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
+
exports.AndroidDebugBridgeResultHandler = AndroidDebugBridgeResultHandler;
|
|
49
50
|
AndroidDebugBridgeResultHandler.ANDROID_DEBUG_BRIDGE_ERRORS = [
|
|
50
51
|
{
|
|
51
52
|
name: "device unauthorized",
|
|
@@ -328,6 +329,5 @@ AndroidDebugBridgeResultHandler.ANDROID_DEBUG_BRIDGE_ERRORS = [
|
|
|
328
329
|
resultCode: -7,
|
|
329
330
|
},
|
|
330
331
|
];
|
|
331
|
-
exports.AndroidDebugBridgeResultHandler = AndroidDebugBridgeResultHandler;
|
|
332
332
|
yok_1.injector.register("androidDebugBridgeResultHandler", AndroidDebugBridgeResultHandler);
|
|
333
333
|
//# sourceMappingURL=android-debug-bridge-result-handler.js.map
|
|
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
9
|
exports.AndroidDebugBridge = void 0;
|
|
19
10
|
const path = require("path");
|
|
@@ -30,39 +21,35 @@ class AndroidDebugBridge {
|
|
|
30
21
|
this.$androidDebugBridgeResultHandler = $androidDebugBridgeResultHandler;
|
|
31
22
|
this.adbFilePath = null;
|
|
32
23
|
}
|
|
33
|
-
init() {
|
|
34
|
-
|
|
35
|
-
this.adbFilePath = yield this.$staticConfig.getAdbFilePath();
|
|
36
|
-
});
|
|
24
|
+
async init() {
|
|
25
|
+
this.adbFilePath = await this.$staticConfig.getAdbFilePath();
|
|
37
26
|
}
|
|
38
|
-
executeCommand(args, options) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return this.$childProcess.spawn(command.command, command.args);
|
|
51
|
-
}
|
|
27
|
+
async executeCommand(args, options) {
|
|
28
|
+
let event = "close";
|
|
29
|
+
const deviceIdentifier = options && options.deviceIdentifier;
|
|
30
|
+
const command = await this.composeCommand(args, deviceIdentifier);
|
|
31
|
+
let treatErrorsAsWarnings = false;
|
|
32
|
+
let childProcessOptions = undefined;
|
|
33
|
+
if (options) {
|
|
34
|
+
event = options.fromEvent || event;
|
|
35
|
+
treatErrorsAsWarnings = options.treatErrorsAsWarnings;
|
|
36
|
+
childProcessOptions = options.childProcessOptions;
|
|
37
|
+
if (options.returnChildProcess) {
|
|
38
|
+
return this.$childProcess.spawn(command.command, command.args);
|
|
52
39
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
40
|
+
}
|
|
41
|
+
// If adb -s <invalid device id> install <smth> is executed the childProcess won't get any response
|
|
42
|
+
// because the adb will be waiting for valid device and will not send close or exit event.
|
|
43
|
+
// For example `adb -s <invalid device id> install <smth>` throws error 'error: device \'030939f508e6c773\' not found\r\n' exitCode 4294967295
|
|
44
|
+
const result = await this.$childProcess.spawnFromEvent(command.command, command.args, event, childProcessOptions, { throwError: false });
|
|
45
|
+
const errors = this.$androidDebugBridgeResultHandler.checkForErrors(result);
|
|
46
|
+
if (errors && errors.length > 0) {
|
|
47
|
+
this.$androidDebugBridgeResultHandler.handleErrors(errors, treatErrorsAsWarnings);
|
|
48
|
+
}
|
|
49
|
+
// Some adb commands returns array of strings instead of object with stdout and stderr. (adb start-server)
|
|
50
|
+
return result.stdout === undefined || result.stdout === null
|
|
51
|
+
? result
|
|
52
|
+
: result.stdout;
|
|
66
53
|
}
|
|
67
54
|
getPropertyValue(deviceId, propertyName) {
|
|
68
55
|
return this.$childProcess.execFile(this.adbFilePath, [
|
|
@@ -73,92 +60,81 @@ class AndroidDebugBridge {
|
|
|
73
60
|
propertyName,
|
|
74
61
|
]);
|
|
75
62
|
}
|
|
76
|
-
getDevices() {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
63
|
+
async getDevices() {
|
|
64
|
+
const result = await this.executeCommand(["devices"], {
|
|
65
|
+
returnChildProcess: true,
|
|
66
|
+
});
|
|
67
|
+
return new Promise((resolve, reject) => {
|
|
68
|
+
let adbData = "";
|
|
69
|
+
let errorData = "";
|
|
70
|
+
let isSettled = false;
|
|
71
|
+
result.stdout.on("data", (data) => {
|
|
72
|
+
adbData += data.toString();
|
|
80
73
|
});
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
.split(os_1.EOL)
|
|
107
|
-
.filter((line) => !!line &&
|
|
108
|
-
line.indexOf("List of devices attached") === -1 &&
|
|
109
|
-
line.indexOf("* daemon ") === -1 &&
|
|
110
|
-
line.indexOf("adb server") === -1);
|
|
111
|
-
resolve(adbDevices);
|
|
112
|
-
}
|
|
113
|
-
}));
|
|
74
|
+
result.stderr.on("data", (data) => {
|
|
75
|
+
errorData += (data || "").toString();
|
|
76
|
+
});
|
|
77
|
+
result.on("error", (error) => {
|
|
78
|
+
if (reject && !isSettled) {
|
|
79
|
+
isSettled = true;
|
|
80
|
+
reject(error);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
result.on("close", async (exitCode) => {
|
|
84
|
+
if (errorData && !isSettled) {
|
|
85
|
+
isSettled = true;
|
|
86
|
+
reject(errorData);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
if (!isSettled) {
|
|
90
|
+
isSettled = true;
|
|
91
|
+
const adbDevices = adbData
|
|
92
|
+
.split(os_1.EOL)
|
|
93
|
+
.filter((line) => !!line &&
|
|
94
|
+
line.indexOf("List of devices attached") === -1 &&
|
|
95
|
+
line.indexOf("* daemon ") === -1 &&
|
|
96
|
+
line.indexOf("adb server") === -1);
|
|
97
|
+
resolve(adbDevices);
|
|
98
|
+
}
|
|
114
99
|
});
|
|
115
100
|
});
|
|
116
101
|
}
|
|
117
|
-
getDevicesSafe() {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
return adbDevices;
|
|
127
|
-
});
|
|
102
|
+
async getDevicesSafe() {
|
|
103
|
+
let adbDevices = [];
|
|
104
|
+
try {
|
|
105
|
+
adbDevices = await this.getDevices();
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
this.$logger.trace(`Getting adb devices failed with error: ${err}`);
|
|
109
|
+
}
|
|
110
|
+
return adbDevices;
|
|
128
111
|
}
|
|
129
|
-
composeCommand(params, identifier) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
return { command, args };
|
|
138
|
-
});
|
|
112
|
+
async composeCommand(params, identifier) {
|
|
113
|
+
const command = await this.$staticConfig.getAdbFilePath();
|
|
114
|
+
let deviceIdentifier = [];
|
|
115
|
+
if (identifier) {
|
|
116
|
+
deviceIdentifier = ["-s", `${identifier}`];
|
|
117
|
+
}
|
|
118
|
+
const args = deviceIdentifier.concat(params);
|
|
119
|
+
return { command, args };
|
|
139
120
|
}
|
|
140
|
-
executeShellCommand(args, options) {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
return result;
|
|
145
|
-
});
|
|
121
|
+
async executeShellCommand(args, options) {
|
|
122
|
+
args.unshift("shell");
|
|
123
|
+
const result = await this.executeCommand(args, options);
|
|
124
|
+
return result;
|
|
146
125
|
}
|
|
147
|
-
pushFile(localFilePath, deviceFilePath) {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
yield this.executeShellCommand(["chmod", "0777", fileDirectory]);
|
|
154
|
-
});
|
|
126
|
+
async pushFile(localFilePath, deviceFilePath) {
|
|
127
|
+
const fileDirectory = (0, helpers_1.fromWindowsRelativePathToUnix)(path.dirname(deviceFilePath));
|
|
128
|
+
// starting from API level 28, the push command is returning an error if the directory does not exist
|
|
129
|
+
await this.executeShellCommand(["mkdir", "-p", fileDirectory]);
|
|
130
|
+
await this.executeCommand(["push", localFilePath, deviceFilePath]);
|
|
131
|
+
await this.executeShellCommand(["chmod", "0777", fileDirectory]);
|
|
155
132
|
}
|
|
156
|
-
removeFile(deviceFilePath) {
|
|
157
|
-
|
|
158
|
-
yield this.executeShellCommand(["rm", "-rf", deviceFilePath]);
|
|
159
|
-
});
|
|
133
|
+
async removeFile(deviceFilePath) {
|
|
134
|
+
await this.executeShellCommand(["rm", "-rf", deviceFilePath]);
|
|
160
135
|
}
|
|
161
136
|
}
|
|
137
|
+
exports.AndroidDebugBridge = AndroidDebugBridge;
|
|
162
138
|
__decorate([
|
|
163
139
|
(0, decorators_1.cache)()
|
|
164
140
|
], AndroidDebugBridge.prototype, "init", null);
|
|
@@ -168,6 +144,5 @@ __decorate([
|
|
|
168
144
|
__decorate([
|
|
169
145
|
(0, decorators_1.invokeInit)()
|
|
170
146
|
], AndroidDebugBridge.prototype, "getDevices", null);
|
|
171
|
-
exports.AndroidDebugBridge = AndroidDebugBridge;
|
|
172
147
|
yok_1.injector.register("adb", AndroidDebugBridge);
|
|
173
148
|
//# sourceMappingURL=android-debug-bridge.js.map
|