-
-
Notifications
You must be signed in to change notification settings - Fork 389
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve flexibility of Android emulator system image #737
Comments
For the benefit of anyone interested in this ticket - it should now be significantly easier, as point (2) on the "desired solution" list has been implemented as part of #766. The problem is effectively reduced to:
|
Hi, I would like to try to solve this problem. I'm:
|
@AndrejusAnto Go right ahead! You don't need any particular experience with Android Studio; the core of the integration with the Android tooling is already in place. The pieces that are needed are almost entirely data parsing, and then converting that parsed data into a set of options for the user. It also shouldn't be extremely complex from a Python point of view. If I was going to suggest an approach - start by getting familiar with |
English is second language and my grammar sucks. |
Yes, it needs to be a pull request; otherwise it's almost impossible to test, review and revise. In addition, it's not just a matter of writing the few lines of code that could be copied into place - you need to write tests for that code. |
Sorry, i forgot to replay. I am not going to fork and PR. |
Hi BeeWare. A (first ever) pull request was just submitted to try to begin fixing this issue. Hopefully, the problem was understood and what is there is not in the wrong direction. Wanted to make notice to some known issues and reasons for what is there:
Assuming there will be (many) changes to be made and anticipate your input. Would like to become a regular contributor to the project. |
The Android toolchain currently hard-codes the system image that is used on emulator images built by Briefcase (at time of writing, the default Android-31 image is used). This system image is downloaded when the emulator binary is downloaded, and is never directly updated.
This has some unfortunate side effects:
Describe the solution you'd like
It would be desirable for Briefcase to:
Describe alternatives you've considered
There aren't really any alternatives, other than manually invoking sdkmanager to create images and download system images that meet your requirements.
Additional context
sdkmanager
is a tool provided by the Android toolchain to do package management. Runbriefcase run -v
to see examples of how it can be run, including the environment variables that must be set in order to invoke it.sdkmangager --list
will give you a list of available images; any package starting withsystem_images;
is, as the name suggests, a system image. The default system image used by briefcase on M1 hardware issystem-images;android-31;default;arm64-v8a
(system images are architecture dependent; only architecture-appropriate options should be provided).sdkmangager --list_installed
will give you a list of images that are currently installed.sdkmanager <package name>
will download and install a package.Android emulators (called AVDs) are stored in
~/.briefcase/avd
. There is a.ini
config file and a.avd
directory for each emulator, with the name of these files matching the emulator name. The.avd
folder contains aconfig.ini
that details the system image required by the AVD under theimage.sysdir.1
key (e.g.,image.sysdir.1=system-images/android-31/default/arm64-v8a/
)The text was updated successfully, but these errors were encountered: