nativescript 8.9.0-alpha.3 → 8.9.0-dev.1

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.
Files changed (342) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/android-tools-info.js +9 -20
  3. package/lib/base-package-manager.js +47 -64
  4. package/lib/bun-package-manager.js +65 -88
  5. package/lib/color.js +2 -2
  6. package/lib/commands/add-platform.js +14 -30
  7. package/lib/commands/apple-login.js +18 -29
  8. package/lib/commands/appstore-list.js +34 -45
  9. package/lib/commands/appstore-upload.js +52 -65
  10. package/lib/commands/build.js +55 -87
  11. package/lib/commands/clean.js +161 -176
  12. package/lib/commands/command-base.js +14 -27
  13. package/lib/commands/config.js +48 -67
  14. package/lib/commands/create-project.js +210 -229
  15. package/lib/commands/debug.js +66 -88
  16. package/lib/commands/deploy.js +28 -44
  17. package/lib/commands/embedding/embed.js +33 -52
  18. package/lib/commands/extensibility/install-extension.js +5 -16
  19. package/lib/commands/extensibility/list-extensions.js +13 -24
  20. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  21. package/lib/commands/fonts.js +30 -41
  22. package/lib/commands/generate-assets.js +13 -28
  23. package/lib/commands/generate-help.js +2 -13
  24. package/lib/commands/generate.js +12 -60
  25. package/lib/commands/info.js +2 -13
  26. package/lib/commands/install.js +34 -49
  27. package/lib/commands/list-platforms.js +14 -25
  28. package/lib/commands/migrate.js +15 -26
  29. package/lib/commands/native-add.js +23 -46
  30. package/lib/commands/platform-clean.js +19 -32
  31. package/lib/commands/plugin/add-plugin.js +12 -25
  32. package/lib/commands/plugin/build-plugin.js +31 -44
  33. package/lib/commands/plugin/create-plugin.js +110 -133
  34. package/lib/commands/plugin/list-plugins.js +22 -33
  35. package/lib/commands/plugin/remove-plugin.js +20 -33
  36. package/lib/commands/plugin/update-plugin.js +20 -33
  37. package/lib/commands/post-install.js +20 -33
  38. package/lib/commands/prepare.js +19 -35
  39. package/lib/commands/preview.js +49 -62
  40. package/lib/commands/remove-platform.js +7 -18
  41. package/lib/commands/resources/resources-update.js +13 -26
  42. package/lib/commands/run.js +55 -76
  43. package/lib/commands/start.js +6 -19
  44. package/lib/commands/test-init.js +123 -134
  45. package/lib/commands/test.js +66 -89
  46. package/lib/commands/typings.js +126 -142
  47. package/lib/commands/update-platform.js +22 -35
  48. package/lib/commands/update.js +30 -43
  49. package/lib/common/child-process.js +53 -72
  50. package/lib/common/codeGeneration/code-entity.js +1 -1
  51. package/lib/common/codeGeneration/code-printer.js +1 -1
  52. package/lib/common/command-params.js +7 -18
  53. package/lib/common/commands/analytics.js +27 -40
  54. package/lib/common/commands/autocompletion.js +39 -56
  55. package/lib/common/commands/device/device-log-stream.js +12 -23
  56. package/lib/common/commands/device/get-file.js +22 -33
  57. package/lib/common/commands/device/list-applications.js +12 -23
  58. package/lib/common/commands/device/list-devices.js +72 -87
  59. package/lib/common/commands/device/list-files.js +23 -34
  60. package/lib/common/commands/device/put-file.js +22 -33
  61. package/lib/common/commands/device/run-application.js +12 -25
  62. package/lib/common/commands/device/stop-application.js +11 -22
  63. package/lib/common/commands/device/uninstall-application.js +6 -17
  64. package/lib/common/commands/generate-messages.js +17 -28
  65. package/lib/common/commands/help.js +20 -33
  66. package/lib/common/commands/package-manager-get.js +6 -17
  67. package/lib/common/commands/package-manager-set.js +9 -20
  68. package/lib/common/commands/post-install.js +2 -13
  69. package/lib/common/commands/preuninstall.js +23 -38
  70. package/lib/common/commands/proxy/proxy-base.js +8 -19
  71. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  72. package/lib/common/commands/proxy/proxy-get.js +3 -14
  73. package/lib/common/commands/proxy/proxy-set.js +87 -100
  74. package/lib/common/constants.js +11 -11
  75. package/lib/common/decorators.js +10 -22
  76. package/lib/common/dispatchers.js +79 -96
  77. package/lib/common/errors.js +89 -104
  78. package/lib/common/file-system.js +108 -130
  79. package/lib/common/header.js +1 -2
  80. package/lib/common/helpers.js +149 -178
  81. package/lib/common/host-info.js +37 -50
  82. package/lib/common/http-client.js +93 -108
  83. package/lib/common/logger/appenders/cli-appender.js +1 -2
  84. package/lib/common/logger/appenders/emit-appender.js +1 -2
  85. package/lib/common/logger/layouts/cli-layout.js +1 -2
  86. package/lib/common/logger/logger.js +4 -4
  87. package/lib/common/mobile/android/android-application-manager.js +121 -142
  88. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  89. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  90. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  91. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  92. package/lib/common/mobile/android/android-device.js +68 -85
  93. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  94. package/lib/common/mobile/android/android-ini-file-parser.js +8 -6
  95. package/lib/common/mobile/android/android-log-filter.js +1 -1
  96. package/lib/common/mobile/android/android-virtual-device-service.js +76 -97
  97. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  98. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  99. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  100. package/lib/common/mobile/android/logcat-helper.js +108 -127
  101. package/lib/common/mobile/application-manager-base.js +84 -107
  102. package/lib/common/mobile/device-log-provider-base.js +7 -18
  103. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  104. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  105. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  106. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  107. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  108. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  109. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  110. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  111. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  112. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  113. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  114. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  115. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  116. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  117. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  118. package/lib/common/mobile/mobile-core/devices-service.js +386 -436
  119. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  120. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  121. package/lib/common/mobile/mobile-helper.js +15 -26
  122. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  123. package/lib/common/opener.js +2 -2
  124. package/lib/common/prompter.js +90 -105
  125. package/lib/common/queue.js +9 -20
  126. package/lib/common/services/auto-completion-service.js +39 -52
  127. package/lib/common/services/cancellation.js +17 -28
  128. package/lib/common/services/commands-service.js +146 -169
  129. package/lib/common/services/help-service.js +132 -157
  130. package/lib/common/services/hooks-service.js +93 -108
  131. package/lib/common/services/ios-notification-service.js +21 -34
  132. package/lib/common/services/json-file-settings-service.js +52 -71
  133. package/lib/common/services/lock-service.js +35 -52
  134. package/lib/common/services/message-contract-generator.js +35 -46
  135. package/lib/common/services/micro-templating-service.js +4 -15
  136. package/lib/common/services/net-service.js +90 -107
  137. package/lib/common/services/project-files-manager.js +10 -23
  138. package/lib/common/services/proxy-service.js +13 -24
  139. package/lib/common/services/qr.js +13 -24
  140. package/lib/common/services/settings-service.js +1 -1
  141. package/lib/common/services/xcode-select-service.js +20 -35
  142. package/lib/common/utils.js +2 -2
  143. package/lib/common/validators/project-name-validator.js +1 -1
  144. package/lib/common/validators/validation-result.js +1 -1
  145. package/lib/common/verify-node-version.js +2 -3
  146. package/lib/common/yok.js +23 -36
  147. package/lib/config.js +36 -51
  148. package/lib/constants.js +24 -24
  149. package/lib/controllers/build-controller.js +82 -99
  150. package/lib/controllers/debug-controller.js +107 -128
  151. package/lib/controllers/deploy-controller.js +15 -23
  152. package/lib/controllers/migrate-controller.js +722 -795
  153. package/lib/controllers/platform-controller.js +70 -85
  154. package/lib/controllers/prepare-controller.js +232 -261
  155. package/lib/controllers/run-controller.js +397 -411
  156. package/lib/controllers/update-controller-base.js +16 -29
  157. package/lib/controllers/update-controller.js +94 -119
  158. package/lib/data/prepare-data.js +4 -1
  159. package/lib/definitions/ios.d.ts +11 -1
  160. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  161. package/lib/detached-processes/cleanup-process.js +16 -25
  162. package/lib/device-path-provider.js +23 -34
  163. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
  164. package/lib/device-sockets/ios/notification.js +1 -1
  165. package/lib/device-sockets/ios/socket-request-executor.js +24 -39
  166. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  167. package/lib/helpers/deploy-command-helper.js +44 -49
  168. package/lib/helpers/key-command-helper.js +4 -13
  169. package/lib/helpers/livesync-command-helper.js +137 -152
  170. package/lib/helpers/network-connectivity-validator.js +6 -17
  171. package/lib/helpers/options-track-helper.js +6 -17
  172. package/lib/helpers/platform-command-helper.js +99 -120
  173. package/lib/key-commands/index.js +150 -200
  174. package/lib/nativescript-cli.js +5 -14
  175. package/lib/node-package-manager.js +81 -104
  176. package/lib/options.js +3 -12
  177. package/lib/package-installation-manager.js +130 -165
  178. package/lib/package-manager.js +63 -86
  179. package/lib/platform-command-param.js +4 -15
  180. package/lib/pnpm-package-manager.js +59 -78
  181. package/lib/project-data.js +1 -1
  182. package/lib/providers/project-files-provider.js +1 -1
  183. package/lib/services/analytics/analytics-broker-process.js +13 -22
  184. package/lib/services/analytics/analytics-broker.js +17 -30
  185. package/lib/services/analytics/analytics-service.js +163 -199
  186. package/lib/services/analytics/google-analytics-provider.js +41 -56
  187. package/lib/services/analytics-settings-service.js +15 -32
  188. package/lib/services/android/android-bundle-tool-service.js +43 -60
  189. package/lib/services/android/gradle-build-args-service.js +9 -20
  190. package/lib/services/android/gradle-build-service.js +22 -35
  191. package/lib/services/android/gradle-command-service.js +22 -35
  192. package/lib/services/android-device-debug-service.js +90 -117
  193. package/lib/services/android-plugin-build-service.js +205 -231
  194. package/lib/services/android-project-service.js +126 -171
  195. package/lib/services/android-resources-migration-service.js +51 -64
  196. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  197. package/lib/services/apple-portal/apple-portal-session-service.js +195 -214
  198. package/lib/services/apple-portal/srp/srp-wrapper.js +43 -58
  199. package/lib/services/assets-generation/assets-generation-service.js +103 -117
  200. package/lib/services/build-artifacts-service.js +9 -20
  201. package/lib/services/build-info-file-service.js +20 -35
  202. package/lib/services/cleanup-service.js +47 -76
  203. package/lib/services/cocoapods-service.js +111 -132
  204. package/lib/services/device/device-install-app-service.js +54 -71
  205. package/lib/services/doctor-service.js +99 -118
  206. package/lib/services/extensibility-service.js +81 -100
  207. package/lib/services/files-hash-service.js +26 -43
  208. package/lib/services/hmr-status-service.js +1 -1
  209. package/lib/services/initialize-service.js +37 -50
  210. package/lib/services/ios/export-options-plist-service.js +38 -51
  211. package/lib/services/ios/ios-signing-service.js +168 -187
  212. package/lib/services/ios/spm-service.js +47 -51
  213. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  214. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  215. package/lib/services/ios/xcodebuild-service.js +52 -71
  216. package/lib/services/ios-debugger-port-service.js +24 -37
  217. package/lib/services/ios-device-debug-service.js +75 -102
  218. package/lib/services/ios-entitlements-service.js +31 -42
  219. package/lib/services/ios-extensions-service.js +18 -29
  220. package/lib/services/ios-project-service.js +419 -460
  221. package/lib/services/ios-provision-service.js +108 -129
  222. package/lib/services/ios-watch-app-service.js +21 -32
  223. package/lib/services/ip-service.js +38 -53
  224. package/lib/services/itmstransporter-service.js +129 -152
  225. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  226. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  227. package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -152
  228. package/lib/services/livesync/android-livesync-service.js +14 -35
  229. package/lib/services/livesync/android-livesync-tool.js +90 -113
  230. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  231. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  232. package/lib/services/livesync/ios-livesync-service.js +42 -58
  233. package/lib/services/livesync/platform-livesync-service-base.js +94 -119
  234. package/lib/services/log-parser-service.js +1 -1
  235. package/lib/services/log-source-map-service.js +30 -41
  236. package/lib/services/marking-mode-service.js +15 -28
  237. package/lib/services/npm-config-service.js +1 -1
  238. package/lib/services/pacote-service.js +49 -64
  239. package/lib/services/performance-service.js +1 -1
  240. package/lib/services/platform/add-platform-service.js +50 -71
  241. package/lib/services/platform/platform-validation-service.js +22 -33
  242. package/lib/services/platform/prepare-native-platform-service.js +49 -62
  243. package/lib/services/platform-environment-requirements.js +26 -37
  244. package/lib/services/plugins-service.js +122 -147
  245. package/lib/services/project-backup-service.js +1 -1
  246. package/lib/services/project-changes-service.js +124 -141
  247. package/lib/services/project-cleanup-service.js +64 -77
  248. package/lib/services/project-config-service.js +71 -80
  249. package/lib/services/project-data-service.js +101 -118
  250. package/lib/services/project-name-service.js +28 -43
  251. package/lib/services/project-service.js +84 -103
  252. package/lib/services/project-templates-service.js +52 -67
  253. package/lib/services/start-service.js +41 -59
  254. package/lib/services/temp-service.js +8 -21
  255. package/lib/services/terminal-spinner-service.js +15 -26
  256. package/lib/services/test-execution-service.js +59 -72
  257. package/lib/services/test-initialization-service.js +2 -2
  258. package/lib/services/timeline-profiler-service.js +1 -1
  259. package/lib/services/versions-service.js +119 -138
  260. package/lib/services/webpack/webpack-compiler-service.js +214 -234
  261. package/lib/services/xcconfig-service.js +8 -19
  262. package/lib/sys-info.js +45 -62
  263. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  264. package/lib/yarn-package-manager.js +59 -78
  265. package/lib/yarn2-package-manager.js +60 -79
  266. package/package.json +66 -81
  267. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  268. package/node_modules/@npmcli/move-file/README.md +0 -69
  269. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  270. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  271. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  272. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  281. package/node_modules/@npmcli/move-file/package.json +0 -47
  282. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  283. package/node_modules/balanced-match/LICENSE.md +0 -21
  284. package/node_modules/balanced-match/README.md +0 -97
  285. package/node_modules/balanced-match/index.js +0 -62
  286. package/node_modules/balanced-match/package.json +0 -48
  287. package/node_modules/concat-map/.travis.yml +0 -4
  288. package/node_modules/concat-map/LICENSE +0 -18
  289. package/node_modules/concat-map/README.markdown +0 -62
  290. package/node_modules/concat-map/example/map.js +0 -6
  291. package/node_modules/concat-map/index.js +0 -13
  292. package/node_modules/concat-map/package.json +0 -43
  293. package/node_modules/concat-map/test/map.js +0 -39
  294. package/node_modules/fs.realpath/LICENSE +0 -43
  295. package/node_modules/fs.realpath/README.md +0 -33
  296. package/node_modules/fs.realpath/index.js +0 -66
  297. package/node_modules/fs.realpath/old.js +0 -303
  298. package/node_modules/fs.realpath/package.json +0 -26
  299. package/node_modules/inflight/LICENSE +0 -15
  300. package/node_modules/inflight/README.md +0 -37
  301. package/node_modules/inflight/inflight.js +0 -54
  302. package/node_modules/inflight/package.json +0 -29
  303. package/node_modules/inherits/LICENSE +0 -16
  304. package/node_modules/inherits/README.md +0 -42
  305. package/node_modules/inherits/inherits.js +0 -9
  306. package/node_modules/inherits/inherits_browser.js +0 -27
  307. package/node_modules/inherits/package.json +0 -29
  308. package/node_modules/once/LICENSE +0 -15
  309. package/node_modules/once/README.md +0 -79
  310. package/node_modules/once/once.js +0 -42
  311. package/node_modules/once/package.json +0 -33
  312. package/node_modules/path-is-absolute/index.js +0 -20
  313. package/node_modules/path-is-absolute/license +0 -21
  314. package/node_modules/path-is-absolute/package.json +0 -43
  315. package/node_modules/path-is-absolute/readme.md +0 -59
  316. package/node_modules/rimraf/LICENSE +0 -15
  317. package/node_modules/rimraf/README.md +0 -101
  318. package/node_modules/rimraf/bin.js +0 -68
  319. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  320. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  321. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  322. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  323. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  324. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  325. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  326. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  327. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  328. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  329. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  330. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  331. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  332. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  333. package/node_modules/rimraf/package.json +0 -32
  334. package/node_modules/rimraf/rimraf.js +0 -360
  335. package/node_modules/stringify-package/LICENSE +0 -13
  336. package/node_modules/stringify-package/README.md +0 -55
  337. package/node_modules/stringify-package/index.js +0 -18
  338. package/node_modules/stringify-package/package.json +0 -38
  339. package/node_modules/wrappy/LICENSE +0 -15
  340. package/node_modules/wrappy/README.md +0 -36
  341. package/node_modules/wrappy/package.json +0 -29
  342. 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,136 +31,126 @@ class AndroidApplicationManager extends application_manager_base_1.ApplicationMa
40
31
  this.PID_CHECK_INTERVAL = 100;
41
32
  this.PID_CHECK_TIMEOUT = 10000;
42
33
  }
43
- getInstalledApplications() {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- const result = (yield this.adb.executeShellCommand(["pm", "list", "packages"])) || "";
46
- const regex = /package:(.+)/;
47
- return result
48
- .split(os_1.EOL)
49
- .map((packageString) => {
50
- const match = packageString.match(regex);
51
- return match ? match[1] : null;
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
- return __awaiter(this, void 0, void 0, function* () {
58
- if (appIdentifier) {
59
- const deviceRootPath = `${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appIdentifier}`;
60
- yield this.adb.executeShellCommand(["rm", "-rf", deviceRootPath]);
61
- }
62
- const { dir, name, ext } = (0, path_1.parse)(packageFilePath);
63
- if (ext === constants_2.AAB_EXTENSION_NAME) {
64
- const apksOutputPath = (0, path_1.join)(dir, name) + constants_2.APKS_EXTENSION_NAME;
65
- if (!this.hasValidApksFile(packageFilePath, apksOutputPath)) {
66
- yield this.$androidBundleToolService.buildApks({
67
- aabFilePath: packageFilePath,
68
- apksOutputPath,
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
- else {
78
- return this.adb.executeCommand(["install", "-r", `${packageFilePath}`]);
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
  return this.adb.executeShellCommand(["pm", "uninstall", `${appIdentifier}`], { treatErrorsAsWarnings: true });
84
71
  }
85
- startApplication(appData) {
86
- return __awaiter(this, void 0, void 0, function* () {
87
- if (appData.waitForDebugger) {
88
- yield this.adb.executeShellCommand([
89
- `cat /dev/null > ${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appData.appId}-debugbreak`,
90
- ]);
91
- }
92
- yield this.adb.executeShellCommand([
93
- `cat /dev/null > ${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appData.appId}-debugger-started`,
72
+ async startApplication(appData) {
73
+ if (appData.waitForDebugger) {
74
+ await this.adb.executeShellCommand([
75
+ `cat /dev/null > ${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appData.appId}-debugbreak`,
94
76
  ]);
95
- const appIdentifier = appData.appId;
96
- const pmDumpOutput = yield this.adb.executeShellCommand([
97
- "pm",
98
- "dump",
77
+ }
78
+ await this.adb.executeShellCommand([
79
+ `cat /dev/null > ${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appData.appId}-debugger-started`,
80
+ ]);
81
+ const appIdentifier = appData.appId;
82
+ const pmDumpOutput = await this.adb.executeShellCommand([
83
+ "pm",
84
+ "dump",
85
+ appIdentifier,
86
+ "|",
87
+ "grep",
88
+ "-A",
89
+ "1",
90
+ "MAIN",
91
+ ]);
92
+ const activityMatch = this.getFullyQualifiedActivityRegex(appIdentifier);
93
+ const match = activityMatch.exec(pmDumpOutput);
94
+ const possibleIdentifier = match && match[0];
95
+ if (possibleIdentifier) {
96
+ await this.adb.executeShellCommand([
97
+ "am",
98
+ "start",
99
+ "-n",
100
+ possibleIdentifier,
101
+ ]);
102
+ }
103
+ else {
104
+ this.$logger.trace(`Tried starting activity for: ${appIdentifier}, using activity manager but failed.`);
105
+ await this.adb.executeShellCommand([
106
+ "monkey",
107
+ "-p",
99
108
  appIdentifier,
100
- "|",
101
- "grep",
102
- "-A",
109
+ "-c",
110
+ "android.intent.category.LAUNCHER",
103
111
  "1",
104
- "MAIN",
105
112
  ]);
106
- const activityMatch = this.getFullyQualifiedActivityRegex(appIdentifier);
107
- const match = activityMatch.exec(pmDumpOutput);
108
- const possibleIdentifier = match && match[0];
109
- if (possibleIdentifier) {
110
- yield this.adb.executeShellCommand([
111
- "am",
112
- "start",
113
- "-n",
114
- possibleIdentifier,
115
- ]);
113
+ }
114
+ await this.onAppLaunch(appData);
115
+ }
116
+ async onAppLaunch(appData) {
117
+ const appIdentifier = appData.appId;
118
+ if (!this.$options.justlaunch && !appData.justLaunch) {
119
+ const deviceIdentifier = this.identifier;
120
+ const processIdentifier = await this.getAppProcessId(deviceIdentifier, appIdentifier);
121
+ if (processIdentifier) {
122
+ this.$deviceLogProvider.setApplicationPidForDevice(deviceIdentifier, processIdentifier);
123
+ this.$deviceLogProvider.setApplicationIdForDevice(deviceIdentifier, appIdentifier);
124
+ this.$deviceLogProvider.setProjectDirForDevice(deviceIdentifier, appData.projectDir);
125
+ await this.$logcatHelper.start({
126
+ deviceIdentifier: this.identifier,
127
+ pid: processIdentifier,
128
+ appId: appIdentifier,
129
+ onAppRestarted: () => {
130
+ this.onAppLaunch(appData);
131
+ },
132
+ });
116
133
  }
117
134
  else {
118
- this.$logger.trace(`Tried starting activity for: ${appIdentifier}, using activity manager but failed.`);
119
- yield this.adb.executeShellCommand([
120
- "monkey",
121
- "-p",
122
- appIdentifier,
123
- "-c",
124
- "android.intent.category.LAUNCHER",
125
- "1",
126
- ]);
135
+ await this.$logcatHelper.dump(this.identifier);
136
+ this.$errors.fail(`Unable to find running "${appIdentifier}" application on device "${deviceIdentifier}".`);
127
137
  }
128
- yield this.onAppLaunch(appData);
129
- });
130
- }
131
- onAppLaunch(appData) {
132
- return __awaiter(this, void 0, void 0, function* () {
133
- const appIdentifier = appData.appId;
134
- if (!this.$options.justlaunch && !appData.justLaunch) {
135
- const deviceIdentifier = this.identifier;
136
- const processIdentifier = yield 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
- yield this.$logcatHelper.start({
142
- deviceIdentifier: this.identifier,
143
- pid: processIdentifier,
144
- appId: appIdentifier,
145
- onAppRestarted: () => {
146
- this.onAppLaunch(appData);
147
- },
148
- });
149
- }
150
- else {
151
- yield this.$logcatHelper.dump(this.identifier);
152
- this.$errors.fail(`Unable to find running "${appIdentifier}" application on device "${deviceIdentifier}".`);
153
- }
154
- }
155
- });
138
+ }
156
139
  }
157
- getAppProcessId(deviceIdentifier, appIdentifier) {
158
- return __awaiter(this, void 0, void 0, function* () {
159
- const appIdCheckStartTime = new Date().getTime();
160
- let processIdentifier = "";
161
- let hasTimedOut = false;
162
- while (!processIdentifier && !hasTimedOut) {
163
- processIdentifier = yield 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
- yield (0, helpers_1.sleep)(this.PID_CHECK_INTERVAL);
167
- hasTimedOut =
168
- new Date().getTime() - appIdCheckStartTime > this.PID_CHECK_TIMEOUT;
169
- }
140
+ async getAppProcessId(deviceIdentifier, appIdentifier) {
141
+ const appIdCheckStartTime = new Date().getTime();
142
+ let processIdentifier = "";
143
+ let hasTimedOut = false;
144
+ while (!processIdentifier && !hasTimedOut) {
145
+ processIdentifier = await this.$androidProcessService.getAppProcessId(deviceIdentifier, appIdentifier);
146
+ if (!processIdentifier) {
147
+ this.$logger.trace(`Wasn't able to get pid of the app. Sleeping for "${this.PID_CHECK_INTERVAL}ms".`);
148
+ await (0, helpers_1.sleep)(this.PID_CHECK_INTERVAL);
149
+ hasTimedOut =
150
+ new Date().getTime() - appIdCheckStartTime > this.PID_CHECK_TIMEOUT;
170
151
  }
171
- return processIdentifier;
172
- });
152
+ }
153
+ return processIdentifier;
173
154
  }
174
155
  stopApplication(appData) {
175
156
  this.$logcatHelper.stop(this.identifier);
@@ -184,25 +165,23 @@ class AndroidApplicationManager extends application_manager_base_1.ApplicationMa
184
165
  getDebuggableApps() {
185
166
  return this.$androidProcessService.getDebuggableApps(this.identifier);
186
167
  }
187
- getDebuggableAppViews(appIdentifiers) {
188
- return __awaiter(this, void 0, void 0, function* () {
189
- const mappedAppIdentifierPorts = yield this.$androidProcessService.getMappedAbstractToTcpPorts(this.identifier, appIdentifiers, constants_1.TARGET_FRAMEWORK_IDENTIFIERS.Cordova), applicationViews = {};
190
- yield Promise.all(_.map(mappedAppIdentifierPorts, (port, appIdentifier) => __awaiter(this, void 0, void 0, function* () {
191
- applicationViews[appIdentifier] = [];
192
- const localAddress = `http://127.0.0.1:${port}/json`;
193
- try {
194
- if (port) {
195
- const apps = (yield this.$httpClient.httpRequest(localAddress))
196
- .body;
197
- applicationViews[appIdentifier] = JSON.parse(apps);
198
- }
168
+ async getDebuggableAppViews(appIdentifiers) {
169
+ const mappedAppIdentifierPorts = await this.$androidProcessService.getMappedAbstractToTcpPorts(this.identifier, appIdentifiers, constants_1.TARGET_FRAMEWORK_IDENTIFIERS.Cordova), applicationViews = {};
170
+ await Promise.all(_.map(mappedAppIdentifierPorts, async (port, appIdentifier) => {
171
+ applicationViews[appIdentifier] = [];
172
+ const localAddress = `http://127.0.0.1:${port}/json`;
173
+ try {
174
+ if (port) {
175
+ const apps = (await this.$httpClient.httpRequest(localAddress))
176
+ .body;
177
+ applicationViews[appIdentifier] = JSON.parse(apps);
199
178
  }
200
- catch (err) {
201
- this.$logger.trace(`Error while checking ${localAddress}. Error is: ${err.message}`);
202
- }
203
- })));
204
- return applicationViews;
205
- });
179
+ }
180
+ catch (err) {
181
+ this.$logger.trace(`Error while checking ${localAddress}. Error is: ${err.message}`);
182
+ }
183
+ }));
184
+ return applicationViews;
206
185
  }
207
186
  getFullyQualifiedActivityRegex(appIdentifier) {
208
187
  const packageActivitySeparator = "\\/";
@@ -219,10 +198,10 @@ class AndroidApplicationManager extends application_manager_base_1.ApplicationMa
219
198
  return isValid;
220
199
  }
221
200
  }
201
+ exports.AndroidApplicationManager = AndroidApplicationManager;
222
202
  __decorate([
223
203
  (0, helpers_1.hook)("install")
224
204
  ], AndroidApplicationManager.prototype, "installApplication", null);
225
205
  __decorate([
226
206
  (0, decorators_1.cache)()
227
207
  ], AndroidApplicationManager.prototype, "getFullyQualifiedActivityRegex", null);
228
- exports.AndroidApplicationManager = AndroidApplicationManager;
@@ -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,5 +329,4 @@ 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);
@@ -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,35 +21,31 @@ class AndroidDebugBridge {
30
21
  this.$androidDebugBridgeResultHandler = $androidDebugBridgeResultHandler;
31
22
  this.adbFilePath = null;
32
23
  }
33
- init() {
34
- return __awaiter(this, void 0, void 0, function* () {
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
- return __awaiter(this, void 0, void 0, function* () {
40
- let event = "close";
41
- const deviceIdentifier = options && options.deviceIdentifier;
42
- const command = yield this.composeCommand(args, deviceIdentifier);
43
- let treatErrorsAsWarnings = false;
44
- let childProcessOptions = undefined;
45
- if (options) {
46
- event = options.fromEvent || event;
47
- treatErrorsAsWarnings = options.treatErrorsAsWarnings;
48
- childProcessOptions = options.childProcessOptions;
49
- if (options.returnChildProcess) {
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
- const result = yield this.$childProcess.spawnFromEvent(command.command, command.args, event, childProcessOptions, { throwError: false });
54
- const errors = this.$androidDebugBridgeResultHandler.checkForErrors(result);
55
- if (errors && errors.length > 0) {
56
- this.$androidDebugBridgeResultHandler.handleErrors(errors, treatErrorsAsWarnings);
57
- }
58
- return result.stdout === undefined || result.stdout === null
59
- ? result
60
- : result.stdout;
61
- });
40
+ }
41
+ const result = await this.$childProcess.spawnFromEvent(command.command, command.args, event, childProcessOptions, { throwError: false });
42
+ const errors = this.$androidDebugBridgeResultHandler.checkForErrors(result);
43
+ if (errors && errors.length > 0) {
44
+ this.$androidDebugBridgeResultHandler.handleErrors(errors, treatErrorsAsWarnings);
45
+ }
46
+ return result.stdout === undefined || result.stdout === null
47
+ ? result
48
+ : result.stdout;
62
49
  }
63
50
  getPropertyValue(deviceId, propertyName) {
64
51
  return this.$childProcess.execFile(this.adbFilePath, [
@@ -69,91 +56,80 @@ class AndroidDebugBridge {
69
56
  propertyName,
70
57
  ]);
71
58
  }
72
- getDevices() {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- const result = yield this.executeCommand(["devices"], {
75
- returnChildProcess: true,
59
+ async getDevices() {
60
+ const result = await this.executeCommand(["devices"], {
61
+ returnChildProcess: true,
62
+ });
63
+ return new Promise((resolve, reject) => {
64
+ let adbData = "";
65
+ let errorData = "";
66
+ let isSettled = false;
67
+ result.stdout.on("data", (data) => {
68
+ adbData += data.toString();
76
69
  });
77
- return new Promise((resolve, reject) => {
78
- let adbData = "";
79
- let errorData = "";
80
- let isSettled = false;
81
- result.stdout.on("data", (data) => {
82
- adbData += data.toString();
83
- });
84
- result.stderr.on("data", (data) => {
85
- errorData += (data || "").toString();
86
- });
87
- result.on("error", (error) => {
88
- if (reject && !isSettled) {
89
- isSettled = true;
90
- reject(error);
91
- }
92
- });
93
- result.on("close", (exitCode) => __awaiter(this, void 0, void 0, function* () {
94
- if (errorData && !isSettled) {
95
- isSettled = true;
96
- reject(errorData);
97
- return;
98
- }
99
- if (!isSettled) {
100
- isSettled = true;
101
- const adbDevices = adbData
102
- .split(os_1.EOL)
103
- .filter((line) => !!line &&
104
- line.indexOf("List of devices attached") === -1 &&
105
- line.indexOf("* daemon ") === -1 &&
106
- line.indexOf("adb server") === -1);
107
- resolve(adbDevices);
108
- }
109
- }));
70
+ result.stderr.on("data", (data) => {
71
+ errorData += (data || "").toString();
72
+ });
73
+ result.on("error", (error) => {
74
+ if (reject && !isSettled) {
75
+ isSettled = true;
76
+ reject(error);
77
+ }
78
+ });
79
+ result.on("close", async (exitCode) => {
80
+ if (errorData && !isSettled) {
81
+ isSettled = true;
82
+ reject(errorData);
83
+ return;
84
+ }
85
+ if (!isSettled) {
86
+ isSettled = true;
87
+ const adbDevices = adbData
88
+ .split(os_1.EOL)
89
+ .filter((line) => !!line &&
90
+ line.indexOf("List of devices attached") === -1 &&
91
+ line.indexOf("* daemon ") === -1 &&
92
+ line.indexOf("adb server") === -1);
93
+ resolve(adbDevices);
94
+ }
110
95
  });
111
96
  });
112
97
  }
113
- getDevicesSafe() {
114
- return __awaiter(this, void 0, void 0, function* () {
115
- let adbDevices = [];
116
- try {
117
- adbDevices = yield this.getDevices();
118
- }
119
- catch (err) {
120
- this.$logger.trace(`Getting adb devices failed with error: ${err}`);
121
- }
122
- return adbDevices;
123
- });
98
+ async getDevicesSafe() {
99
+ let adbDevices = [];
100
+ try {
101
+ adbDevices = await this.getDevices();
102
+ }
103
+ catch (err) {
104
+ this.$logger.trace(`Getting adb devices failed with error: ${err}`);
105
+ }
106
+ return adbDevices;
124
107
  }
125
- composeCommand(params, identifier) {
126
- return __awaiter(this, void 0, void 0, function* () {
127
- const command = yield this.$staticConfig.getAdbFilePath();
128
- let deviceIdentifier = [];
129
- if (identifier) {
130
- deviceIdentifier = ["-s", `${identifier}`];
131
- }
132
- const args = deviceIdentifier.concat(params);
133
- return { command, args };
134
- });
108
+ async composeCommand(params, identifier) {
109
+ const command = await this.$staticConfig.getAdbFilePath();
110
+ let deviceIdentifier = [];
111
+ if (identifier) {
112
+ deviceIdentifier = ["-s", `${identifier}`];
113
+ }
114
+ const args = deviceIdentifier.concat(params);
115
+ return { command, args };
135
116
  }
136
- executeShellCommand(args, options) {
137
- return __awaiter(this, void 0, void 0, function* () {
138
- args.unshift("shell");
139
- const result = yield this.executeCommand(args, options);
140
- return result;
141
- });
117
+ async executeShellCommand(args, options) {
118
+ args.unshift("shell");
119
+ const result = await this.executeCommand(args, options);
120
+ return result;
142
121
  }
143
- pushFile(localFilePath, deviceFilePath) {
144
- return __awaiter(this, void 0, void 0, function* () {
145
- const fileDirectory = (0, helpers_1.fromWindowsRelativePathToUnix)(path.dirname(deviceFilePath));
146
- yield this.executeShellCommand(["mkdir", "-p", fileDirectory]);
147
- yield this.executeCommand(["push", localFilePath, deviceFilePath]);
148
- yield this.executeShellCommand(["chmod", "0777", fileDirectory]);
149
- });
122
+ async pushFile(localFilePath, deviceFilePath) {
123
+ const fileDirectory = (0, helpers_1.fromWindowsRelativePathToUnix)(path.dirname(deviceFilePath));
124
+ await this.executeShellCommand(["mkdir", "-p", fileDirectory]);
125
+ await this.executeCommand(["push", localFilePath, deviceFilePath]);
126
+ await this.executeShellCommand(["chmod", "0777", fileDirectory]);
150
127
  }
151
- removeFile(deviceFilePath) {
152
- return __awaiter(this, void 0, void 0, function* () {
153
- yield this.executeShellCommand(["rm", "-rf", deviceFilePath]);
154
- });
128
+ async removeFile(deviceFilePath) {
129
+ await this.executeShellCommand(["rm", "-rf", deviceFilePath]);
155
130
  }
156
131
  }
132
+ exports.AndroidDebugBridge = AndroidDebugBridge;
157
133
  __decorate([
158
134
  (0, decorators_1.cache)()
159
135
  ], AndroidDebugBridge.prototype, "init", null);
@@ -163,5 +139,4 @@ __decorate([
163
139
  __decorate([
164
140
  (0, decorators_1.invokeInit)()
165
141
  ], AndroidDebugBridge.prototype, "getDevices", null);
166
- exports.AndroidDebugBridge = AndroidDebugBridge;
167
142
  yok_1.injector.register("adb", AndroidDebugBridge);