# SevenX Engine - Configurador Automático Android
# Detecta automaticamente os caminhos do Android SDK e NDK
Write-Host ""
Write-Host "🤖 SevenX Engine - Configurador Android Automático" -ForegroundColor Cyan
Write-Host "====================================================" -ForegroundColor Cyan
Write-Host ""
# Detectar Android SDK automaticamente
Write-Host "🔍 Procurando Android SDK..." -ForegroundColor Yellow
$possiblePaths = @(
"$env:LOCALAPPDATA\Android\Sdk",
"$env:APPDATA\Android\Sdk",
"$env:ProgramFiles\Android\Android Studio\sdk",
"$env:ProgramFiles(x86)\Android\Android Studio\sdk",
"C:\Android\Sdk"
)
$androidHome = $null
foreach ($path in $possiblePaths) {
if (Test-Path $path) {
$androidHome = $path
Write-Host " ✅ Android SDK encontrado em:" -ForegroundColor Green
Write-Host " $androidHome" -ForegroundColor Cyan
break
}
}
if (-not $androidHome) {
Write-Host " ❌ Android SDK não encontrado!" -ForegroundColor Red
Write-Host ""
Write-Host " Por favor, informe o caminho manualmente:" -ForegroundColor Yellow
Write-Host " Exemplo: C:\Users\SeuUsuario\AppData\Local\Android\Sdk" -ForegroundColor Gray
Write-Host ""
$androidHome = Read-Host " Caminho do Android SDK"
if (-not (Test-Path $androidHome)) {
Write-Host ""
Write-Host " ❌ Caminho inválido!" -ForegroundColor Red
Write-Host " Execute o script novamente com o caminho correto." -ForegroundColor Yellow
exit 1
}
}
# Procurar NDK
Write-Host ""
Write-Host "🔍 Procurando Android NDK..." -ForegroundColor Yellow
$ndkPath = Join-Path $androidHome "ndk"
$ndkHome = $null
if (Test-Path $ndkPath) {
$ndkVersions = Get-ChildItem $ndkPath -Directory | Sort-Object Name -Descending
if ($ndkVersions.Count -gt 0) {
$ndkHome = $ndkVersions[0].FullName
Write-Host " ✅ NDK encontrado:" -ForegroundColor Green
Write-Host " $ndkHome" -ForegroundColor Cyan
Write-Host " Versão: $($ndkVersions[0].Name)" -ForegroundColor Cyan
} else {
Write-Host " ❌ NDK não encontrado!" -ForegroundColor Red
Write-Host ""
Write-Host " Instale o NDK via Android Studio:" -ForegroundColor Yellow
Write-Host " Tools → SDK Manager → SDK Tools → NDK (Side by side)" -ForegroundColor Yellow
Write-Host ""
$continue = Read-Host " Continuar mesmo assim? (s/n)"
if ($continue -ne "s") {
exit 1
}
}
} else {
Write-Host " ⚠️ Pasta NDK não encontrada" -ForegroundColor Yellow
Write-Host " Instale o NDK via Android Studio" -ForegroundColor Yellow
}
# Configurar variáveis de ambiente
Write-Host ""
Write-Host "⚙️ Configurando variáveis de ambiente..." -ForegroundColor Yellow
try {
# ANDROID_HOME
[System.Environment]::SetEnvironmentVariable('ANDROID_HOME', $androidHome, 'User')
Write-Host " ✅ ANDROID_HOME configurado" -ForegroundColor Green
# ANDROID_NDK_HOME
if ($ndkHome) {
[System.Environment]::SetEnvironmentVariable('ANDROID_NDK_HOME', $ndkHome, 'User')
Write-Host " ✅ ANDROID_NDK_HOME configurado" -ForegroundColor Green
}
# Adicionar ao PATH
$currentPath = [System.Environment]::GetEnvironmentVariable('Path', 'User')
$platformTools = Join-Path $androidHome "platform-tools"
$tools = Join-Path $androidHome "tools"
$pathsToAdd = @()
if ($currentPath -notlike "*$platformTools*") {
$pathsToAdd += $platformTools
}
if ($currentPath -notlike "*$tools*") {
$pathsToAdd += $tools
}
if ($pathsToAdd.Count -gt 0) {
$newPath = $currentPath
foreach ($pathToAdd in $pathsToAdd) {
if (Test-Path $pathToAdd) {
$newPath = "$newPath;$pathToAdd"
}
}
[System.Environment]::SetEnvironmentVariable('Path', $newPath, 'User')
Write-Host " ✅ PATH atualizado" -ForegroundColor Green
} else {
Write-Host " ℹ️ PATH já configurado" -ForegroundColor Cyan
}
Write-Host ""
Write-Host "✅ Configuração concluída!" -ForegroundColor Green
} catch {
Write-Host ""
Write-Host "❌ Erro ao configurar variáveis!" -ForegroundColor Red
Write-Host " Execute o PowerShell como Administrador" -ForegroundColor Yellow
exit 1
}
# Resumo
Write-Host ""
Write-Host "====================================================" -ForegroundColor Cyan
Write-Host ""
Write-Host "📋 Resumo da Configuração:" -ForegroundColor Cyan
Write-Host ""
Write-Host " ANDROID_HOME:" -ForegroundColor Yellow
Write-Host " $androidHome" -ForegroundColor White
Write-Host ""
if ($ndkHome) {
Write-Host " ANDROID_NDK_HOME:" -ForegroundColor Yellow
Write-Host " $ndkHome" -ForegroundColor White
Write-Host ""
}
Write-Host "⚠️ IMPORTANTE:" -ForegroundColor Yellow
Write-Host " Feche e abra o PowerShell/CMD para as mudanças terem efeito!" -ForegroundColor Yellow
Write-Host ""
Write-Host "📝 Próximos passos:" -ForegroundColor Cyan
Write-Host " 1. Feche este terminal" -ForegroundColor White
Write-Host " 2. Abra um novo PowerShell" -ForegroundColor White
Write-Host " 3. Execute: cargo install cargo-apk" -ForegroundColor White
Write-Host " 4. Execute: rustup target add aarch64-linux-android" -ForegroundColor White
Write-Host " 5. Execute: .\verificar-setup.ps1" -ForegroundColor White
Write-Host ""
Write-Host "====================================================" -ForegroundColor Cyan
Write-Host ""