Skip to content

Commit 94bd1ed

Browse files
committed
Merge branch 'main' into release/v2
* main: Prepare for release 2.14.2. Support non-default API 28 images
2 parents 70e3f6e + c3e261e commit 94bd1ed

File tree

4 files changed

+18
-4
lines changed

4 files changed

+18
-4
lines changed

.github/workflows/workflow.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ jobs:
3636
- os: macos-latest
3737
api-level: 24
3838
target: playstore
39+
- os: macos-latest
40+
api-level: 28
41+
target: google_apis
3942

4043
steps:
4144
- name: checkout

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Change Log
22

3+
## v2.14.2
4+
5+
* Support API 28 system images with `google_apis` or `google_apis_playstore` target - [#117](https://github.com/ReactiveCircus/android-emulator-runner/pull/117).
6+
37
## v2.14.1
48

59
* Fix hang during AVD creation when `profile` is not specified - [#113](https://github.com/ReactiveCircus/android-emulator-runner/issues/113).

lib/sdk-installer.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ function installAndroidSdk(apiLevel, target, arch, emulatorBuild, ndkVersion, cm
6262
if (!isOnMac && !fs.existsSync(sdkPreviewLicensePath)) {
6363
fs.writeFileSync(sdkPreviewLicensePath, '\n84831b9409646a918e30573bab4c9c91346d8abd');
6464
}
65-
// license required for API 30 system images
65+
// license required for API 30 and non-default API 28 system images
6666
const sdkArmDbtLicensePath = `${process.env.ANDROID_SDK_ROOT}/licenses/android-sdk-arm-dbt-license`;
67-
if (apiLevel == 30 && !fs.existsSync(sdkArmDbtLicensePath)) {
67+
if (requiresArmDbtLicense(apiLevel, target) && !fs.existsSync(sdkArmDbtLicensePath)) {
6868
fs.writeFileSync(sdkArmDbtLicensePath, '\n859f317696f67ef3d7f30a50a5560e7834b43903');
6969
}
7070
console.log('Installing latest build tools, platform tools, and platform.');
@@ -93,3 +93,6 @@ function installAndroidSdk(apiLevel, target, arch, emulatorBuild, ndkVersion, cm
9393
});
9494
}
9595
exports.installAndroidSdk = installAndroidSdk;
96+
function requiresArmDbtLicense(apiLevel, target) {
97+
return apiLevel === 30 || (apiLevel === 28 && target !== 'default');
98+
}

src/sdk-installer.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ export async function installAndroidSdk(apiLevel: number, target: string, arch:
3636
fs.writeFileSync(sdkPreviewLicensePath, '\n84831b9409646a918e30573bab4c9c91346d8abd');
3737
}
3838

39-
// license required for API 30 system images
39+
// license required for API 30 and non-default API 28 system images
4040
const sdkArmDbtLicensePath = `${process.env.ANDROID_SDK_ROOT}/licenses/android-sdk-arm-dbt-license`;
41-
if (apiLevel == 30 && !fs.existsSync(sdkArmDbtLicensePath)) {
41+
if (requiresArmDbtLicense(apiLevel, target) && !fs.existsSync(sdkArmDbtLicensePath)) {
4242
fs.writeFileSync(sdkArmDbtLicensePath, '\n859f317696f67ef3d7f30a50a5560e7834b43903');
4343
}
4444

@@ -67,3 +67,7 @@ export async function installAndroidSdk(apiLevel: number, target: string, arch:
6767
await exec.exec(`sh -c \\"sdkmanager --install 'cmake;${cmakeVersion}' > /dev/null"`);
6868
}
6969
}
70+
71+
function requiresArmDbtLicense(apiLevel: number, target: string): boolean {
72+
return apiLevel === 30 || (apiLevel === 28 && target !== 'default');
73+
}

0 commit comments

Comments
 (0)