initial commit

This commit is contained in:
parovin committed 2026-10-11 14:12:10 +03:00
commit 39fdd43d8e
127 files changed
+13919

No files matched your search

+65
View File
@@ -0,0 +1,65 @@
# Ставит собранный debug APK на эмулятор и открывает приложение.
# Если виртуалка выключена, запускает первый AVD и ждёт загрузки.
# Запуск: powershell -ExecutionPolicy Bypass -File C:\Dev\Benchpress\frontend\scripts\install-emulator.ps1
$ErrorActionPreference = "Stop"
$sdk = Join-Path $env:LOCALAPPDATA "Android\Sdk"
$adb = Join-Path $sdk "platform-tools\adb.exe"
$emulator = Join-Path $sdk "emulator\emulator.exe"
$apk = Resolve-Path (Join-Path $PSScriptRoot "..\android\app\build\outputs\apk\debug\app-debug.apk") -ErrorAction SilentlyContinue
$package = "com.benchpress.secret"
if (-not (Test-Path $adb)) {
Write-Error "adb не найден: $adb"
}
if (-not $apk) {
Write-Error "APK ещё нет. Сначала запусти scripts\build-apk.ps1"
}
function Get-EmulatorSerial {
$lines = & $adb devices
foreach ($line in $lines) {
if ($line -match "^(emulator-\d+)\s+device\s*$") {
return $Matches[1]
}
}
return $null
}
$serial = Get-EmulatorSerial
if (-not $serial) {
if (-not (Test-Path $emulator)) {
Write-Error "Эмулятор не найден: $emulator"
}
$avds = @(& $emulator -list-avds | Where-Object { $_ -and $_.Trim() })
if ($avds.Count -eq 0) {
Write-Error "Нет виртуальных устройств. Создай его в Android Studio: Device Manager."
}
$avd = $avds[0].Trim()
Write-Host "Запуск эмулятора $avd ..."
Start-Process -FilePath $emulator -ArgumentList @("-avd", $avd)
& $adb wait-for-device
$deadline = (Get-Date).AddMinutes(4)
do {
Start-Sleep -Seconds 2
$serial = Get-EmulatorSerial
if (-not $serial) { continue }
$boot = (& $adb -s $serial shell getprop sys.boot_completed | Out-String).Trim()
if ($boot -eq "1") { break }
} while ((Get-Date) -lt $deadline)
$serial = Get-EmulatorSerial
if (-not $serial) {
Write-Error "Эмулятор не успел загрузиться."
}
}
Write-Host "Установка на $serial ..."
& $adb -s $serial install -r $apk
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
& $adb -s $serial shell am force-stop $package
& $adb -s $serial shell am start -n "$package/.MainActivity"
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
Write-Host "Приложение открыто на $serial"