Skip to content

Commit 4970d21

Browse files
committed
fix: install app on device when there is native change during livesync
1 parent 22eecad commit 4970d21

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

lib/controllers/run-controller.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { cache, performanceLog } from "../common/decorators";
44
import { EventEmitter } from "events";
55

66
export class RunController extends EventEmitter implements IRunController {
7-
private rebuiltInformation: IDictionary<any> = {};
7+
private rebuiltInformation: IDictionary<{ packageFilePath: string, platform: string, isEmulator: boolean }> = { };
88

99
constructor(
1010
protected $analyticsService: IAnalyticsService,
@@ -327,11 +327,15 @@ export class RunController extends EventEmitter implements IRunController {
327327
});
328328

329329
try {
330-
const rebuiltInfo = this.rebuiltInformation[platformData.platformNameLowerCase] && (this.$mobileHelper.isAndroidPlatform(platformData.platformNameLowerCase) || this.rebuiltInformation[platformData.platformNameLowerCase].isEmulator === device.isEmulator);
331-
if (data.hasNativeChanges && !rebuiltInfo) {
332-
await this.$prepareNativePlatformService.prepareNativePlatform(platformData, projectData, prepareData);
333-
await deviceDescriptor.buildAction();
334-
this.rebuiltInformation[platformData.platformNameLowerCase] = { isEmulator: device.isEmulator, platform: platformData.platformNameLowerCase, packageFilePath: null };
330+
if (data.hasNativeChanges) {
331+
const rebuiltInfo = this.rebuiltInformation[platformData.platformNameLowerCase] && (this.$mobileHelper.isAndroidPlatform(platformData.platformNameLowerCase) || this.rebuiltInformation[platformData.platformNameLowerCase].isEmulator === device.isEmulator);
332+
if (!rebuiltInfo) {
333+
await this.$prepareNativePlatformService.prepareNativePlatform(platformData, projectData, prepareData);
334+
await deviceDescriptor.buildAction();
335+
this.rebuiltInformation[platformData.platformNameLowerCase] = { isEmulator: device.isEmulator, platform: platformData.platformNameLowerCase, packageFilePath: null };
336+
}
337+
338+
this.$deviceInstallAppService.installOnDevice(device, deviceDescriptor.buildData, this.rebuiltInformation[platformData.platformNameLowerCase].packageFilePath);
335339
}
336340

337341
const isInHMRMode = liveSyncInfo.useHotModuleReload && data.hmrData && data.hmrData.hash;

0 commit comments

Comments
 (0)