classroom/roles/android_studio/tasks/main_win.yml
2025-08-30 13:10:28 +02:00

112 lines
3.9 KiB
YAML

- name: Set Android Studio version
set_fact:
studio_path: "{{ large_prog_dir }}\\android-studio"
studio_version: "2025.1.2.13"
tools_version: "13114758_latest"
- name: Set Android command-line tools path
set_fact:
tools_path: "{{ studio_path }}\\cmdline-tools\\latest"
- name: Check Android Studio
win_stat:
path: "{{ studio_path }}\\bin\\studio64.exe"
register: studio
- when: not studio.stat.exists
block:
- name: Download Android Studio
win_get_url:
url: "https://redirector.gvt1.com/edgedl/android/studio/ide-zips/{{ studio_version }}/android-studio-{{ studio_version }}-windows.zip"
dest: "{{ large_prog_dir }}\\"
- name: Extract Android Studio
win_unzip:
src: "{{ large_prog_dir }}\\android-studio-{{ studio_version }}-windows.zip"
dest: "{{ large_prog_dir }}\\"
delete_archive: yes
- name: Check Android Studio tools
win_stat:
path: "{{ tools_path }}\\bin\\sdkmanager.bat"
register: tools
- when: not tools.stat.exists
block:
- name: Download Android Studio tools
win_get_url:
url: "https://dl.google.com/android/repository/commandlinetools-win-{{ tools_version }}.zip"
# url: "https://dl.google.com/android/repository/platform-tools-{{ tools_version }}-windows.zip"
dest: "{{ studio_path }}"
- name: Extract Android Studio tools
win_unzip:
# src: "{{ large_prog_dir }}\\platform-tools-{{ tools_version }}-windows.zip"
src: "{{ studio_path}}\\commandlinetools-win-{{ tools_version }}.zip"
dest: "{{ studio_path }}\\cmdline-tools\\"
delete_archive: yes
- name: Move cmdline-tools to expected location
ansible.windows.win_powershell:
script: move "{{ studio_path }}\\cmdline-tools\\cmdline-tools" "{{ tools_path }}"
- name: Create Android Studio data directory
win_file:
path: "{{ large_prog_dir }}\\.android"
state: directory
- name: Set Android Studio environment variables
win_environment:
level: machine
variables:
ANDROID_HOME: "{{ studio_path }}"
ANDROID_SDK_ROOT: "{{ studio_path }}"
ANDROID_PREFS_ROOT: "{{ large_prog_dir }}\\"
GRADLE_USER_HOME: "{{ large_prog_dir }}\\.gradle"
# - name: Accept Android SDK licenses
# win_shell: sh -c "yes | /c/android-sdk/cmdline-tools/cmdline-tools/bin/sdkmanager.bat --licenses"
- name: Include Android SDK packages
include_vars: androidsdk_packages.yml
- name: Install Android SDK packages
win_shell: |
{{ tools_path }}\bin\sdkmanager.bat --install "{{ item }}"
loop: "{{ AndroidSDK_packages }}"
# {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "{{ AndroidSDK_packages | join(' ') }}"
# {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "build-tools;33.0.0" "cmdline-tools;latest" "emulator" "ndk-bundle" "ndk;25.1.8937393" "platform-tools" "platforms;android-33" "sources;android-33" "system-images;android-33;google_apis;arm64-v8a" "system-images;android-33;google_apis;x86_64"
#- name: Install Android Studio
# win_package:
# path: "https://redirector.gvt1.com/edgedl/android/studio/install/{{ studio_version }}/android-studio-{{ studio_version }}-windows.exe"
# arguments: /S /AllUsers
# expected_return_code: [0, 1223, 3010]
# creates_path: "%ProgramFiles%\\Android\\Android Studio\\bin\\studio64.exe"
#- name: Check HAXM install status
# win_stat:
# path: "%ProgramFiles%\\Intel\\HAXM"
# register: file
#- when: not file.stat.exists
# block:
# - name: Download HAXM
# win_get_url:
# url: https://github.com/intel/haxm/releases/download/v7.7.1/haxm-windows_v7_7_1.zip
# dest: C:\
# register: download
# - name: Unzip HAXM
# win_unzip:
# src: "{{ download.dest }}"
# dest: C:\haxm
# - name: Install HAXM
# win_command: C:\haxm\silent_install.bat
# - name: Remove temporaries
# win_file:
# path: C:\haxm
# state: absent