Fix sdk license issue with API 28+ system images on Linux.

This commit is contained in:
Yang Chen
2020-04-01 00:23:10 +11:00
committed by Yang
parent 0d966550cf
commit 49a3d042e9
5 changed files with 18 additions and 7 deletions
+3 -1
View File
@@ -14,12 +14,14 @@ jobs:
strategy: strategy:
matrix: matrix:
os: [macos-latest, ubuntu-latest] os: [macos-latest, ubuntu-latest]
api-level: [16, 23, 29] api-level: [16, 23, 28, 29]
exclude: exclude:
- os: ubuntu-latest - os: ubuntu-latest
api-level: 23 api-level: 23
- os: ubuntu-latest - os: ubuntu-latest
api-level: 29 api-level: 29
- os: macos-latest
api-level: 28
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
+2 -2
View File
@@ -16,7 +16,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
const exec = __importStar(require("@actions/exec")); const exec = __importStar(require("@actions/exec"));
const EMULATOR_BOOT_TIMEOUT_SECONDS = 300; const EMULATOR_BOOT_TIMEOUT_SECONDS = 600;
/** /**
* Creates and launches a new AVD instance with the specified configurations. * Creates and launches a new AVD instance with the specified configurations.
*/ */
@@ -99,7 +99,7 @@ function waitForDevice() {
} }
} }
catch (error) { catch (error) {
console.log(error.message); console.warn(error.message);
} }
if (attempts < maxAttemps) { if (attempts < maxAttemps) {
yield delay(retryInterval * 1000); yield delay(retryInterval * 1000);
+5 -1
View File
@@ -35,7 +35,11 @@ function installAndroidSdk(apiLevel, target, arch, emulatorBuild) {
yield exec.exec(`sudo rm -f commandlinetools.zip`); yield exec.exec(`sudo rm -f commandlinetools.zip`);
// add paths for commandline-tools and platform-tools // add paths for commandline-tools and platform-tools
core.addPath(`${process.env.ANDROID_HOME}/cmdline-tools/tools:${process.env.ANDROID_HOME}/cmdline-tools/tools/bin:${process.env.ANDROID_HOME}/platform-tools`); core.addPath(`${process.env.ANDROID_HOME}/cmdline-tools/tools:${process.env.ANDROID_HOME}/cmdline-tools/tools/bin:${process.env.ANDROID_HOME}/platform-tools`);
yield exec.exec(`sh -c \\"sudo chmod -R 777 ${process.env.ANDROID_HOME}"`); // additional permission and license requirements for Linux
if (!isOnMac) {
yield exec.exec(`sh -c \\"sudo chmod -R 777 ${process.env.ANDROID_HOME}"`);
yield exec.exec(`sh -c \\"echo -e '\n84831b9409646a918e30573bab4c9c91346d8abd' > ${process.env.ANDROID_HOME}/licenses/android-sdk-preview-license"`);
}
console.log('Installing latest build tools, platform tools, and platform.'); console.log('Installing latest build tools, platform tools, and platform.');
yield exec.exec(`sh -c \\"sdkmanager --install 'build-tools;${BUILD_TOOLS_VERSION}' platform-tools 'platforms;android-${apiLevel}' > /dev/null"`); yield exec.exec(`sh -c \\"sdkmanager --install 'build-tools;${BUILD_TOOLS_VERSION}' platform-tools 'platforms;android-${apiLevel}' > /dev/null"`);
if (emulatorBuild) { if (emulatorBuild) {
+2 -2
View File
@@ -1,6 +1,6 @@
import * as exec from '@actions/exec'; import * as exec from '@actions/exec';
const EMULATOR_BOOT_TIMEOUT_SECONDS = 300; const EMULATOR_BOOT_TIMEOUT_SECONDS = 600;
/** /**
* Creates and launches a new AVD instance with the specified configurations. * Creates and launches a new AVD instance with the specified configurations.
@@ -81,7 +81,7 @@ async function waitForDevice(): Promise<void> {
break; break;
} }
} catch (error) { } catch (error) {
console.log(error.message); console.warn(error.message);
} }
if (attempts < maxAttemps) { if (attempts < maxAttemps) {
+6 -1
View File
@@ -20,7 +20,12 @@ export async function installAndroidSdk(apiLevel: number, target: string, arch:
// add paths for commandline-tools and platform-tools // add paths for commandline-tools and platform-tools
core.addPath(`${process.env.ANDROID_HOME}/cmdline-tools/tools:${process.env.ANDROID_HOME}/cmdline-tools/tools/bin:${process.env.ANDROID_HOME}/platform-tools`); core.addPath(`${process.env.ANDROID_HOME}/cmdline-tools/tools:${process.env.ANDROID_HOME}/cmdline-tools/tools/bin:${process.env.ANDROID_HOME}/platform-tools`);
await exec.exec(`sh -c \\"sudo chmod -R 777 ${process.env.ANDROID_HOME}"`);
// additional permission and license requirements for Linux
if (!isOnMac) {
await exec.exec(`sh -c \\"sudo chmod -R 777 ${process.env.ANDROID_HOME}"`);
await exec.exec(`sh -c \\"echo -e '\n84831b9409646a918e30573bab4c9c91346d8abd' > ${process.env.ANDROID_HOME}/licenses/android-sdk-preview-license"`);
}
console.log('Installing latest build tools, platform tools, and platform.'); console.log('Installing latest build tools, platform tools, and platform.');