Skip to content

Commit c4ffc06

Browse files
authored
fix: launching activity defined with fully qualified name (#2269)
1 parent 4d79e33 commit c4ffc06

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

packages/cli-platform-android/src/commands/runAndroid/__tests__/tryLaunchAppOnDevice.test.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,28 @@ test('launches adb shell with intent to launch com.myapp.MainActivity with diffe
5959
);
6060
});
6161

62+
test('launches adb shell with intent to launch com.myapp.MainActivity with different appId than packageName on a simulator when mainActivity is fully qualified name', () => {
63+
tryLaunchAppOnDevice(
64+
device,
65+
{...androidProject, mainActivity: 'com.myapp.MainActivity'},
66+
adbPath,
67+
args,
68+
);
69+
70+
expect(execa.sync).toHaveBeenCalledWith(
71+
'path/to/adb',
72+
[
73+
'-s',
74+
'emulator-5554',
75+
...shellStartCommand,
76+
'-n',
77+
'com.myapp.custom/com.myapp.MainActivity',
78+
...actionCategoryFlags,
79+
],
80+
{stdio: 'inherit'},
81+
);
82+
});
83+
6284
test('launches adb shell with intent to launch com.myapp.MainActivity with same appId as packageName on a simulator', () => {
6385
tryLaunchAppOnDevice(
6486
device,

packages/cli-platform-android/src/commands/runAndroid/tryLaunchAppOnDevice.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ function tryLaunchAppOnDevice(
2424
.filter(Boolean)
2525
.join('.');
2626

27-
const activityToLaunch = mainActivity.includes('.')
27+
const activityToLaunch = mainActivity.startsWith(packageName)
28+
? mainActivity
29+
: mainActivity.startsWith('.')
2830
? [packageName, mainActivity].join('')
2931
: [packageName, mainActivity].filter(Boolean).join('.');
3032

0 commit comments

Comments
 (0)