mirror of
https://github.com/reactivecircus/android-emulator-runner.git
synced 2026-08-31 17:49:33 +00:00
Fix sdk license issue with API 28+ system images on Linux.
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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.');
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user