Commit Graph

88 Commits

Author SHA1 Message Date
Mike Hardy 29b35ed135 fix: remove problematic / unneeded --abi option in avd creation (#456) 2026-02-06 17:13:54 +11:00
Mike Hardy 66283c0319 fix: allow google_apis_ps16k as a valid target (#440)
* test: remove target validator test

these appear to have too much maintenance burden as they only ever
add more over time

* fix: allow google_apis_ps16k and google_apis_playstore_ps16k as valid targets

Fixes #403

Co-authored-by: Yang <reactivecircus@gmail.com>

* fix: remove target validation entirely, any valid sdkmanager target will work

no longer requires code changes here to access new targets

---------

Co-authored-by: Yang <reactivecircus@gmail.com>
2025-07-02 11:45:42 +10:00
munrocket f2bf410054 Fix pre-emulator-launch-script (#439) 2025-06-26 00:48:55 +10:00
devin-ai-integration[bot] 62e6348453 Optimize config.ini updates and efficiency improvements report (#436)
* Optimize config.ini updates by batching shell executions

- Reduce up to 5 separate shell executions to 1 for AVD configuration
- Improves performance by eliminating redundant process spawns
- Add comprehensive efficiency report documenting all identified improvements
- All existing tests pass, no functional changes

Co-Authored-By: Yang <reactivecircus@gmail.com>

* Add compiled JS files and remove standalone efficiency report

- Include built lib/emulator-manager.js with batched config optimization
- Remove EFFICIENCY_REPORT.md as requested
- Efficiency report content will be moved to PR description

Co-Authored-By: Yang <reactivecircus@gmail.com>

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Yang <reactivecircus@gmail.com>
2025-06-15 03:00:24 +10:00
Timothy a173d65200 Support API levels for SDK extensions and add missing targets for automotive and desktop. (#428) 2025-03-29 01:04:02 +11:00
LoveSy 50d5b10c01 Add Baklava support (#424)
* Add `Baklava` support

* Fix typo of `ubuntu-latest` to fix CI
2025-01-24 22:46:33 +11:00
Yang ead704cc5a Fix avd path on ubuntu-24.04 - attempt 2 (#415) 2024-10-12 17:26:36 +11:00
Yang e800ffffe6 Revert creating avd directory. (#414) 2024-10-11 13:55:44 +11:00
Yang 8c07710601 Fix SDK path issues with ubuntu-24.04 (#409) 2024-10-11 11:55:47 +11:00
Yang 3a18f50216 SDK build tools 35.0.0, command-line tools 16.0. (#408) 2024-10-07 00:50:35 +11:00
Justin Brooks 1b985f4c7a Avoid changing the owner of unnecessary files (#406)
* Avoid changing the owner of unnecessary files

Source files shouldn't matter for the purposes of this tool.
% ls -R $ANDROID_HOME/sources/android-34 | wc -l
   17750

* Remove non-existant directory

* Avoid another unnecessary chown

* Push js
2024-10-05 12:53:35 +10:00
Kamil Bąk 4b0628e9f8 Support customizing emulator port (#383)
* Add port parameter

* Fix a typo in test description

* Fix avd not being started with correct port

* Fix wrong port being used to kill an emulator if there was an exception
2024-07-02 22:42:44 +10:00
Josh Lesch 1fef06a960 Install platforms for the specified api level (#384)
* Install platforms for the specified api level

* Fix typo
2024-03-28 09:40:07 +11:00
LoveSy d8da5b6410 Add api level VanillaIceCream support (#378) 2024-02-18 10:14:24 +11:00
Yang c479bb6c0f Promote using ubuntu runner with KVM. (#366) 2024-01-19 17:38:35 +11:00
Yang f9c2835191 SDK command-line tools 11.0. (#356)
* SDK command-line tools 11.0.

* Temporarily disable API 16 test.
2023-12-06 18:25:39 +11:00
olegdolgikh 2cfd145246 Fixed emulator download URL (#343)
Previous code worked in a wrong way. 
1. Getting the first char of a build number is mistake because now numbers start with 1, but whole number higher than the number which starts from 7.
2. URL was incorrect for arm mac machines. It needed to add `aarch64` suffix
2023-07-04 21:39:36 +10:00
Yang 8c71f5ed72 SDK command-line tools 9.0. (#331) 2023-03-18 18:58:54 +11:00
Dmitry Koplyarov 743ec40c5b Add emulator-boot-timeout parameter (#326)
* Add emulator-boot-timeout parameter

* Update action-types.yml
2023-03-09 11:44:31 +11:00
LoveSy 8e947e5bd6 Support non-integer API level (#317)
* Support non-integer API level

* update lib

* Add test

* No need to install platforms.

Mostly application will use different SDK platform.

* Update lib
2023-02-09 23:07:08 +11:00
Yang e1248ae048 Replace deprecated ANDROID_SDK_ROOT with ANDROID_HOME. 2023-01-10 18:02:19 +11:00
Yang 949d52fd17 SDK command-line tools 8.0. (#291) 2022-11-14 21:17:52 +11:00
Matt Johnson-Pint a4845e8d39 Update dependencies (#282)
* Update packages

* Fix TS errors

* rebuild

* Update eslint

See https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21

* Fix linting errors

* rebuild
2022-10-28 16:54:00 +11:00
Nils Reichardt 411cd10ea9 Pre Emulator Launch Script (#247)
* Add `pre-emulator-launch-script` to `action.yml`

* Add `pre-emulator-launch-script` in `main.yml`

* Implement pre emulator launch script

* Try to use `pushd`

* print working directory

* Add `README`

* Run `npm run build`

* Fix `working-directory`

* Run `npm run build`

* Run pre emulator launch in group

* Run `npm run build`

* Update README.md

Co-authored-by: Yang <reactivecircus@gmail.com>

* Add type "pre-emulator-launch-script"

Co-authored-by: Yang <reactivecircus@gmail.com>
2022-10-27 02:33:13 +11:00
notbigdata 7809d88d54 Auto detect hardware acceleration on Linux (#254) 2022-07-12 18:32:26 +10:00
Yang a9c993651c Build tools 33.0.0. Update test fixture dependencies. 2022-06-17 23:54:56 +10:00
Yang eb6b0c0524 SDK command-line tools 7.0. 2022-05-14 17:17:56 +10:00
Tim Malseed cc3dd8cbef Add option to specify AVD heap size (#245) 2022-04-26 23:36:59 +10:00
Michael Kaye 1e2ef7249a Add GHA commands to group logs (#224) 2022-02-17 20:03:29 +11:00
Vilius Sutkus '89 4e0dd2c343 Allow increasing main storage size (sdcard is separate storage) (#219)
* Allow increasing disk size - Issue #184

* Fix checkDiskSize validator

* Fix lint errors

* Size modifier without a number is unacceptable

"G" is not the same as "1G"

* Implement checkDiskSize validator tests
2022-02-05 16:07:40 +11:00
Yang 62d97062b0 Update to SDK command-line tools 6.0. (#213) 2022-01-27 16:22:43 +11:00
Yang e35fd713f4 Update build tools to 32.0.0. Update text-fixture compileSdkVersion and targetSdkVersion to 32. (#212) 2022-01-26 11:26:11 +11:00
James Prendergast d15e7110de Update the README and fix some typos (#199)
* Updated the readme with the additional targets and fixed some typos

* fix spacing with macos-11

* fix more typos
2021-12-25 02:15:49 +11:00
Yang cc46524d3f Add support for enabling hardware keyboard. 2021-12-25 02:12:17 +11:00
Yang 8f0c30aea2 Support aosp_atd and google_atd targets. 2021-10-23 19:29:35 +11:00
Yang 1427331a62 Support choosing channel to download SDK components from. 2021-08-28 19:44:11 +10:00
Yang 1ded27b164 build-tools to 31.0.0; SDK cmd-line tools to 5.0. (#174)
* Update build-tools to 31.0.0. Add API 31 emulator to workflow. Update SDK command-line tools to 5.0

* Update test fixture dependencies.

* Test API 31 with macos-11.

* Add android:exported to AndroidManifest.

* Format
2021-08-28 17:59:37 +10:00
Alex Vanyo 4d1a61ed38 Support non-mobile targets (Wear OS, TV) (#180)
* Add non-mobile targets to allowlist

* Add new targets to input validator tests

* Update built input-validator.js

* Update README with new targets

* Update action.yml with new targets
2021-08-14 03:25:01 +10:00
Marcus Pridham 08852ad83b Accept all Android SDK Licenses
Fixes #168
2021-07-20 11:44:43 +10:00
Yang eba1fbfb59 Add option to set AVD RAM size. 2021-06-26 23:45:24 +10:00
Yang 50ef0172a3 Unzip specific emulator build into latest emulator build from sdkmanager. Support using modern build id for emulator-build. 2021-06-26 01:14:29 +10:00
Yang 854ed15ed0 Add force-avd-creation to skip avd creation if avd with same name exists. Update workflow to test snapshot caching. 2021-06-20 01:41:30 +10:00
Steve Stotter 5e38ea2647 Add option to toggle Linux hardware acceleration 2021-05-28 16:36:37 +10:00
Cihat Gündüz bbf0887eb9 Add support for arm64-v8a for Apple Silicon Macs
Fixes https://github.com/ReactiveCircus/android-emulator-runner/issues/145
2021-04-17 13:54:28 +10:00
Afzal Najam 84b9418977 Add option to disable spellcheck
Add input-validator and tests
2021-04-08 00:44:27 +10:00
Brian Dickens 0d47f0813d Avoid Wrapping Script Code In Quotes
The exec() command only runs a program with literal argument strings.
It does not know how to do things like expanding environment variables,
or piping/redirection.  Hence the way to get "shell intelligence"
is to use exec() to run the `sh` process with the command line string
as a parameter.

But the method being used to do this was:

    exec.exec(`sh -c \\"${script}"`)

This has problems, because wrapping the script in quotes creates
issues when the script itself contains quotes.  Escaping the string
correctly is a non-trivial problem, which also would create "noise"
in the debug output which would add confusion.

http://mywiki.wooledge.org/BashFAQ/050

The easiest way to work around this here is to use the array form of
exec() to pass exactly two parameters to `sh`.  No manipulation of the
script string is needed with this approach:

    exec.exec("sh", ["-c", script])

There are more cases in the project of `sh -c` usage which should also
be changed, and likely abstracted (shellExec()?)  But this small patch
just fixes the most important case for the user-provided script.

---

Additionally, this removes the escaped backslash (`\\`) from the
start of the executed command.  That was presumably to suppress the
use of aliases:

https://unix.stackexchange.com/questions/524254/why-are-backslashes-included-in-this-shell-script

But because this is invoking a non-interactive shell session, aliases
would not apply.  Hence the extra backslash shouldn't be needed.
2021-03-09 18:49:23 +11:00
Afzal Najam d85239a9fb Add option to modify the number of cores 2021-03-03 08:41:55 +11:00
Yang 205fbe1b31 Always add path for cmdline-tools to support macos-11.0. 2021-01-13 19:24:10 +11:00
linl33 434e949c3b Support non-default API 28 images 2021-01-05 18:21:57 +11:00
Yang 28373d3d4f Fix AVD creation hang when profile is not specified. 2020-12-28 13:13:03 +11:00