Skip to content

Commit

Permalink
Support non-default API 28 images
Browse files Browse the repository at this point in the history
  • Loading branch information
linl33 authored and ychescale9 committed Jan 5, 2021
1 parent 0d8602f commit 434e949
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 4 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ jobs:
- os: macos-latest
api-level: 24
target: playstore
- os: macos-latest
api-level: 28
target: google_apis

steps:
- name: checkout
Expand Down
7 changes: 5 additions & 2 deletions lib/sdk-installer.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,9 @@ function installAndroidSdk(apiLevel, target, arch, emulatorBuild, ndkVersion, cm
if (!isOnMac && !fs.existsSync(sdkPreviewLicensePath)) {
fs.writeFileSync(sdkPreviewLicensePath, '\n84831b9409646a918e30573bab4c9c91346d8abd');
}
// license required for API 30 system images
// license required for API 30 and non-default API 28 system images
const sdkArmDbtLicensePath = `${process.env.ANDROID_SDK_ROOT}/licenses/android-sdk-arm-dbt-license`;
if (apiLevel == 30 && !fs.existsSync(sdkArmDbtLicensePath)) {
if (requiresArmDbtLicense(apiLevel, target) && !fs.existsSync(sdkArmDbtLicensePath)) {
fs.writeFileSync(sdkArmDbtLicensePath, '\n859f317696f67ef3d7f30a50a5560e7834b43903');
}
console.log('Installing latest build tools, platform tools, and platform.');
Expand Down Expand Up @@ -93,3 +93,6 @@ function installAndroidSdk(apiLevel, target, arch, emulatorBuild, ndkVersion, cm
});
}
exports.installAndroidSdk = installAndroidSdk;
function requiresArmDbtLicense(apiLevel, target) {
return apiLevel === 30 || (apiLevel === 28 && target !== 'default');
}
8 changes: 6 additions & 2 deletions src/sdk-installer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ export async function installAndroidSdk(apiLevel: number, target: string, arch:
fs.writeFileSync(sdkPreviewLicensePath, '\n84831b9409646a918e30573bab4c9c91346d8abd');
}

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

Expand Down Expand Up @@ -67,3 +67,7 @@ export async function installAndroidSdk(apiLevel: number, target: string, arch:
await exec.exec(`sh -c \\"sdkmanager --install 'cmake;${cmakeVersion}' > /dev/null"`);
}
}

function requiresArmDbtLicense(apiLevel: number, target: string): boolean {
return apiLevel === 30 || (apiLevel === 28 && target !== 'default');
}

0 comments on commit 434e949

Please sign in to comment.