# 解压 XAPK 并通过 adb install-multiple 安装 TNG param( [Parameter(Mandatory = $true)] [string]$XapkPath ) $ErrorActionPreference = "Stop" $adb = "C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools\adb.exe" if (-not (Test-Path $XapkPath)) { Write-Host "文件不存在: $XapkPath" -ForegroundColor Red exit 1 } $extractDir = Join-Path ([IO.Path]::GetDirectoryName($XapkPath)) "tng_xapk_extracted" if (Test-Path $extractDir) { Remove-Item $extractDir -Recurse -Force } New-Item -ItemType Directory -Path $extractDir | Out-Null Add-Type -AssemblyName System.IO.Compression.FileSystem [System.IO.Compression.ZipFile]::ExtractToDirectory((Resolve-Path $XapkPath), $extractDir) $apks = Get-ChildItem $extractDir -Filter "*.apk" -Recurse | Sort-Object Name if ($apks.Count -eq 0) { Write-Host "XAPK 内未找到 apk 文件" -ForegroundColor Red exit 1 } Write-Host "找到 $($apks.Count) 个 APK,开始安装..." -ForegroundColor Cyan $apkArgs = @("install-multiple", "-r") + ($apks | ForEach-Object { $_.FullName }) & $adb @apkArgs if ($LASTEXITCODE -eq 0) { Write-Host "TNG 安装成功" -ForegroundColor Green & $adb shell monkey -p my.com.tngdigital.ewallet -c android.intent.category.LAUNCHER 1 } else { Write-Host "安装失败,exit=$LASTEXITCODE" -ForegroundColor Red }