initial commit
This commit is contained in:
commit
39fdd43d8e
127 files changed
+13919
No files matched your search
@@ -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"
|
||||
Reference in new issue
Block a user