guoyu/Test/备份/log_备份/ps1/内层_integrate.ps1

154 lines
4.6 KiB
PowerShell

# Integrate to Android Studio SDK
$ErrorActionPreference = "Stop"
$ProjectRoot = $PSScriptRoot
$AppID = "__UNI__08E0C13"
$AppName = "GuoYuEdu"
$PackageName = "uni.app.UNI08E0C13"
$SDKRoot = "D:\4_Part\HBuilder-Android\HBuilder-Integrate-AS"
Write-Host "========================================"
Write-Host " Integrating to Android Studio SDK"
Write-Host "========================================"
Write-Host "AppID: $AppID"
Write-Host "Package: $PackageName"
Write-Host ""
# Check SDK exists
if (-Not (Test-Path $SDKRoot)) {
Write-Host "ERROR: SDK not found at $SDKRoot" -ForegroundColor Red
exit 1
}
Write-Host "OK: SDK found" -ForegroundColor Green
Write-Host ""
# Step 1: Copy Web resources
Write-Host "[1/5] Copying Web resources..." -ForegroundColor Yellow
$WebSource = "$ProjectRoot\unpackage\dist\build\app-plus"
$WebDest = "$SDKRoot\simpleDemo\src\main\assets\apps\$AppID\www"
if (-Not (Test-Path $WebSource)) {
Write-Host "ERROR: Build output not found. Run 'npm run build:app' first!" -ForegroundColor Red
exit 1
}
New-Item -ItemType Directory -Path $WebDest -Force | Out-Null
Copy-Item -Path "$WebSource\*" -Destination $WebDest -Recurse -Force
Write-Host " OK: Web resources copied" -ForegroundColor Green
Write-Host ""
# Step 2: Copy Vosk AAR library
Write-Host "[2/5] Copying Vosk library..." -ForegroundColor Yellow
$VoskSource = "$ProjectRoot\src\uni_modules\xwq-speech-to-text\utssdk\app-android\libs\vosk-android-0.3.47.aar"
$LibsDest = "$SDKRoot\simpleDemo\libs"
if (Test-Path $VoskSource) {
New-Item -ItemType Directory -Path $LibsDest -Force | Out-Null
Copy-Item -Path $VoskSource -Destination $LibsDest -Force
$size = (Get-Item "$LibsDest\vosk-android-0.3.47.aar").Length / 1MB
Write-Host " OK: Vosk AAR copied ($([math]::Round($size, 2)) MB)" -ForegroundColor Green
} else {
Write-Host " WARNING: Vosk AAR not found" -ForegroundColor Yellow
}
Write-Host ""
# Step 3: Update dcloud_control.xml
Write-Host "[3/5] Updating app config..." -ForegroundColor Yellow
$ControlXml = "$SDKRoot\simpleDemo\src\main\assets\data\dcloud_control.xml"
$XmlContent = @"
<?xml version="1.0" encoding="utf-8"?>
<hbuilder>
<apps>
<app appid="$AppID" appver="1.0.0"/>
</apps>
</hbuilder>
"@
New-Item -ItemType Directory -Path (Split-Path $ControlXml) -Force | Out-Null
$XmlContent | Out-File -FilePath $ControlXml -Encoding UTF8 -Force
Write-Host " OK: dcloud_control.xml updated" -ForegroundColor Green
Write-Host ""
# Step 4: Generate build.gradle config
Write-Host "[4/5] Generating Gradle config..." -ForegroundColor Yellow
$GradleConfig = @"
// Add to simpleDemo/build.gradle
android {
defaultConfig {
applicationId "$PackageName"
minSdkVersion 21
targetSdkVersion 33
versionCode 100
versionName "1.0.0"
}
}
dependencies {
// Vosk library
implementation files('libs/vosk-android-0.3.47.aar')
implementation 'net.java.dev.jna:jna:5.12.1'
}
repositories {
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://repo1.maven.org/maven2/' }
google()
mavenCentral()
}
"@
$GradleConfig | Out-File -FilePath "$ProjectRoot\gradle-config.txt" -Encoding UTF8
Write-Host " OK: Gradle config saved to gradle-config.txt" -ForegroundColor Green
Write-Host ""
# Step 5: Generate guide
Write-Host "[5/5] Generating guide..." -ForegroundColor Yellow
$Guide = @"
========================================
Android Studio Build Guide
========================================
SDK Path: $SDKRoot
AppID: $AppID
Package: $PackageName
========================================
Next Steps:
========================================
1. Open Android Studio
File -> Open -> Select: $SDKRoot
2. Wait for Gradle sync
3. Edit simpleDemo/build.gradle
Copy content from: gradle-config.txt
4. Click 'Sync Now'
5. Build APK
Build -> Build Bundle(s) / APK(s) -> Build APK(s)
6. APK output:
$SDKRoot\simpleDemo\build\outputs\apk\debug\simpleDemo-debug.apk
========================================
"@
$Guide | Out-File -FilePath "$ProjectRoot\android-studio-guide.txt" -Encoding UTF8
Write-Host " OK: Guide saved to android-studio-guide.txt" -ForegroundColor Green
Write-Host ""
Write-Host "========================================"
Write-Host " Integration Complete!"
Write-Host "========================================"
Write-Host ""
Write-Host "Next:" -ForegroundColor Cyan
Write-Host " 1. Open Android Studio" -ForegroundColor Yellow
Write-Host " 2. Open: $SDKRoot" -ForegroundColor Gray
Write-Host " 3. Read: android-studio-guide.txt" -ForegroundColor Gray
Write-Host ""