Przeglądaj źródła

更新android构建流程

dengdx 1 dzień temu
rodzic
commit
02b0b1f4a2
1 zmienionych plików z 50 dodań i 0 usunięć
  1. 50 0
      .github/workflows/build-linux-arm-appimage.yml

+ 50 - 0
.github/workflows/build-linux-arm-appimage.yml

@@ -95,5 +95,55 @@ jobs:
         run: npm install --force
       - name: 构建h5
         run: npm run h5_for_production
+        
+      - name: Set up JDK 17
+        uses: actions/setup-java@v4
+        with:
+          java-version: '17'
+          distribution: 'temurin'
+
+      - name: Set up Android SDK (包括 build-tools 35.0.0)
+        uses: android-actions/setup-android@v3
+        with:
+          sdk-version: '35'
+          build-tools: '35.0.0'
+          # Windows 上会安装到 %LOCALAPPDATA%\Android\Sdk
+
+      - name: Cache Android SDK
+        uses: actions/cache@v4
+        with:
+          path: |
+            %LOCALAPPDATA%\Android\Sdk
+          key: android-sdk-${{ runner.os }}-${{ hashFiles('**/*.xml') }}
+
+      - name: Set up Node.js (for Cordova)
+        uses: actions/setup-node@v4
+        with:
+          node-version: '20'
+          cache: 'npm'  # 缓存 npm 依赖
+
+      - name: Install Cordova globally
+        run: npm install -g cordova@latest --no-optional
+        shell: pwsh  # 显式指定 PowerShell,确保兼容
+
+      - name: Add Cordova Android platform 14.0.1
+        run: |
+          cordova platform add android@14.0.1 --save
+          cordova requirements android  # 检查环境(PowerShell 会自动处理路径)
+
+      - name: Verify Environment Variables (PowerShell)
+        run: |
+          Write-Output "JAVA_HOME: $env:JAVA_HOME"
+          Write-Output "ANDROID_HOME: $env:ANDROID_HOME"
+          Write-Output "PATH includes Gradle: $(if ($env:PATH -like '*gradle*') { 'Yes' } else { 'No' })"
+
+      - name: Update Gradle Wrapper to 9.0
+        run: |
+          # PowerShell 语法更新 wrapper
+          (Get-Content gradle/wrapper/gradle-wrapper.properties) -replace 'gradle-[0-9]+\.[0-9]+-bin\.zip', 'gradle-9.0-bin.zip' | Set-Content gradle/wrapper/gradle-wrapper.properties
+          # 确保 gradlew 可执行(Windows 上是 .bat)
+          if (Test-Path 'gradlew.bat') { Write-Output "Gradle wrapper ready" }
+
+
       - name: 构建 Android APK
         run: npm run build:android