Last active 1 week ago

Info1.md Raw

Сам эмулятор работает. Код accel 6 означает, что в Windows нет гипервизора для эмулятора. Его нужно включить. Лучше всего подойдёт Windows Hypervisor Platform (WHPX):

от администратора Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -All Restart-Computer

После перезагрузки проверь:

C:\Android\sdk\emulator\emulator.exe -accel-check

Должно быть accel: 0 и WHPX ... is installed and usable.

Если команда включения упадёт или после перезагрузки снова будет ошибка, значит, хост не пробрасывает в виртуалку аппаратную виртуализацию. На KVM-хосте это проверяется и включается так:

В конфиге этой виртуалки должен стоять тип CPU host (в Proxmox: Hardware → Processors → Type host), после чего виртуалку нужно полностью выключить и снова включить.

На хосте cat /sys/module/kvm_amd/parameters/nested должен вернуть 1. Если это не так, включи options kvm_amd nested=1 в /etc/modprobe.d/kvm.conf и перезагрузи модуль или хост.

Альтернатива на крайний случай — драйвер AEHD (sdkmanager "extras;google;Android_Emulator_Hypervisor_Driver"). Но Google его уже не развивает, так что я бы шёл через WHPX.

info.md Raw

1. Инструменты через winget (системно)

$w = '--scope','machine','--accept-package-agreements','--accept-source-agreements','-e','--silent' winget install --id Ninja-build.Ninja @w winget install --id GoLang.Go @w winget install --id StrawberryPerl.StrawberryPerl @w winget install --id Python.Python.3.12 @w winget install --id MSYS2.MSYS2 @w

2. Android SDK: CMake с ninja и эмулятор

$sdk = 'C:\Android\sdk' $sm = "$sdk\cmdline-tools\latest\bin\sdkmanager.bat" & $sm --list | Select-String 'cmake;3.31' # посмотреть, какая 3.31.x доступна & $sm --install "cmake;3.31.6" "emulator" "system-images;android-35;google_apis;x86_64" & $sm --licenses

3. Переменные окружения машины

New-Item -ItemType Directory -Force F:\android\avd, F:\android\user, F:\gradle | Out-Null [Environment]::SetEnvironmentVariable('ANDROID_HOME', $sdk, 'Machine') [Environment]::SetEnvironmentVariable('ANDROID_USER_HOME', 'F:\android\user', 'Machine') [Environment]::SetEnvironmentVariable('ANDROID_AVD_HOME', 'F:\android\avd', 'Machine') [Environment]::SetEnvironmentVariable('GRADLE_USER_HOME', 'F:\gradle', 'Machine') $p = [Environment]::GetEnvironmentVariable('Path','Machine') $add = 'C:\Program Files\Git\bin;C:\msys64\usr\bin' [Environment]::SetEnvironmentVariable('Path', "$add;$p", 'Machine')

4. Длинные пути

Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' LongPathsEnabled 1 git config --system core.longpaths true git config --system core.autocrlf false

5. Пакеты MSYS2 для сборки libsodium (autotools)

C:\msys64\usr\bin\bash.exe -lc "pacman -Syu --noconfirm; pacman -S --noconfirm --needed make autoconf automake libtool"

6. AVD для 6.7 и проверка ускорения

$env:ANDROID_AVD_HOME = 'F:\android\avd' echo no | & "$sdk\cmdline-tools\latest\bin\avdmanager.bat" create avd -n vpnproto35 -k "system-images;android-35;google_apis;x86_64" -d pixel_6 & "$sdk\emulator\emulator.exe" -accel-check

7. Перезапустить раннер, чтобы он увидел новый PATH

Get-Service runner | Restart-Service