This role can download and configure multiple Android Studio clients for use on a Linux machine.
None.
All parameters are optional unless otherwise stated.
android_studio_path
: [string] The absolute path to where the studio versions will be downloaded to (default: /opt/android-studio
)
android_studio_jdk
: [string] The absolute path to the Java version which should be specifically used with Android Studio via the $STUDIO_JDK environment variable (default: not set).
android_studio_clients
: [mapping] Defines the Android Studio clients that will be downloaded.
version
: [string] (required) The Android Studio client version to download, for instance 2022.3.1.17
. See a full list here.
checksum
: [string] (required) The checksum matching the requested Android Studio client version. Find the checksum matching the client here.
android_studio_primary
: [mapping] Defines options for selecting and configuring which client version will be the primary Android Studio client.
version
: [string] (required) The version number of the client which should be configured to be the primary Android Studio client. This client version will have it's studio.sh
symlinked to /usr/bin/astudio
.
symlink
: [string] Allows settings a custom name to use when symlinking the version launch script to /usr/bin/
. Defaults to astudio
for primary client.
desktop
: [mapping] Contains configuration on desktop entry creation if requested.
`create` : [boolean] (required) Indicates if the desktop entry should be created
`name` : [string] Allows renaming the name used in the created desktop entry.
android_studio_canary
: [mapping] Defines options for selecting and configuring which client version will be the canary Android Studio client.
version
: [string] (required) The version number of the client which should be configured to be the primary Android Studio client. This client version will have it's studio.sh
symlinked to /usr/bin/astudioc
.
symlink
: [string] Allows settings a custom name to use when symlinking the version launch script to /usr/bin/
. Defaults to astudioc
for primary client.
desktop
: [mapping] Contains configuration on desktop entry creation if requested.
`create` : [boolean] (required) Indicates if the desktop entry should be created
`name` : [string] Allows renaming the name used in the created desktop entry.
None.
Before the role can be used it needs to be added to the machine running the playbook, and as of writing this, this role is not hosted on Ansible-Galaxy only on Github.
-
Create a
requirements.yml
file in the root directory of the playbook being worked on. -
Add the following definition inside the
requirements.yml
file:
- name: hth-android-studio
src: https://github.com/hrafnthor/ansible-android-studio.git
scm: git
- Install the requirements by executing
ansible-galaxy install -r .requirements.yml
This will allow any playbook run from this machine to use the role hth-android-studio
The following example playbook installs two different Android Studio clients and makes one the primary client and the other the canary client. The primary client has a desktop entry created, and with a different entry name then the default one. The canary version does not have a desktop entry created but overrides the name used for the symlinked launcher. The Java version to use for running Android Studio, no matter the client version, is set to OpenJDK 11.
- hosts: all
vars:
- android_studio_path: "/opt/android-studio"
- android_studio_jdk: "/usr/lib/jvm/java-11-openjdk-amd64"
- android_studio_clients:
- version: "2022.2.1.9"
checksum: "7e7868b83bca8255f690e6c7fe026a3f3be1e140d2f09682c2b150af8cf93550"
- version: "2021.3.1.17"
checksum: "89adb0ce0ffa46b7894e7bfedb142b1f5d52c43c171e6a6cb9a95a49f77756ca"
- android_studio_primary:
- version: "2021.3.1.17"
desktop:
create: yes
name: "AStudio Stable"
- android_studio_canary:
- version: "2022.2.1.9"
symlink: "androidstudio"
roles:
- hth-android-studio
MIT license. See attached license file.
Hrafn Thorvaldsson Find me at https://www.hth.is