Compare commits

...
Author SHA1 Message Date
Krystof WoldrichandCodex 415b5bd643 [build-tools] Link Android emulator changelog entry
Co-authored-by: Codex <[email protected]>
2026-08-31 17:59:10 +02:00
Krystof WoldrichandCodex 236024b073 [build-tools] Default Android emulator to Pixel 9 on API 36
Co-authored-by: Codex <[email protected]>
2026-08-31 17:57:50 +02:00
4 changed files with 26 additions and 2 deletions

No files matched your search

+2
View File
@@ -15,6 +15,8 @@ This is the log of notable changes to EAS CLI and related packages.
### 🧹 Chores
- [build-tools] Update the default Android emulator to a Pixel 9 running Android 36. ([#4316](https://github.com/expo/eas-cli/pull/4316) by [@krystofwoldrich](https://github.com/krystofwoldrich))
## [23.1.0](https://github.com/expo/eas-cli/releases/tag/v23.1.0) - 2026-08-31
### 🎉 New features
@@ -21,7 +21,8 @@ jest.mock('../../../utils/retry', () => ({
jest.mock('../../../utils/AndroidEmulatorUtils', () => ({
AndroidEmulatorUtils: {
defaultSystemImagePackage: 'system-images;android-30;default;x86_64',
defaultDeviceIdentifier: 'pixel_9',
defaultSystemImagePackage: 'system-images;android-36;default;x86_64',
getAvailableDevicesAsync: jest.fn(),
createAsync: jest.fn(),
cloneAsync: jest.fn(),
@@ -259,6 +260,25 @@ describe(createStartAndroidEmulatorBuildFunction, () => {
);
});
it('creates a Pixel 9 emulator with the Android 36 system image by default', async () => {
await createStep().executeAsync();
expect(mockedSpawn).toHaveBeenCalledWith(
'sdkmanager',
['system-images;android-36;default;x86_64'],
expect.objectContaining({
env: expect.any(Object),
})
);
expect(mockedAndroidUtils.createAsync).toHaveBeenCalledWith(
expect.objectContaining({
deviceIdentifier: 'pixel_9',
deviceName: 'EasAndroidDevice01',
systemImagePackage: 'system-images;android-36;default;x86_64',
})
);
});
it('skips animation scale adjustments when opt out env var is disabled', async () => {
const step = createStep(undefined, {
ANDROID_EMULATOR_ADJUST_ANIMATION_SCALE: 'false',
@@ -38,6 +38,7 @@ export function createStartAndroidEmulatorBuildFunction(): BuildFunction {
BuildStepInput.createProvider({
id: 'device_identifier',
required: false,
defaultValue: AndroidEmulatorUtils.defaultDeviceIdentifier,
allowedValueTypeName: BuildStepInputValueTypeName.STRING,
}),
BuildStepInput.createProvider({
@@ -24,7 +24,8 @@ export type AndroidDeviceSerialId = string & z.BRAND<'AndroidDeviceSerialId'>;
export namespace AndroidEmulatorUtils {
const RETRY_INTERVAL_MS = 1_000;
export const defaultSystemImagePackage = `system-images;android-30;default;${
export const defaultDeviceIdentifier = 'pixel_9' as AndroidDeviceName;
export const defaultSystemImagePackage = `system-images;android-36;default;${
process.arch === 'arm64' ? 'arm64-v8a' : 'x86_64'
}`;