浏览代码

更新安卓构建流程

dengdx 1 天之前
父节点
当前提交
3abb67b2fc
共有 1 个文件被更改,包括 49 次插入20 次删除
  1. 49 20
      .github/workflows/build-linux-arm-appimage.yml

+ 49 - 20
.github/workflows/build-linux-arm-appimage.yml

@@ -76,15 +76,16 @@ jobs:
     steps:
       - name: 检出代码
         uses: actions/checkout@v4
-      - name: Check Android SDK on Windows (cmd)
-        shell: cmd
-        env:
-          ANDROID_SDK_ROOT: 'C:\Users\ddx\AppData\Local\Android\Sdk'            # <-- 修改为你的 SDK 安装路径
-          JAVA_HOME: 'C:\Program Files\Eclipse Adoptium\jdk-17.0.16.8-hotspot\'     # <-- 修改为你的 JDK 路径
-          PATH: ${{ env.PATH }}';C:\Android\sdk\platform-tools;C:\Android\sdk\cmdline-tools\latest\bin'
-        run: |
-          echo USER: %USERNAME%
-          echo ANDROID_SDK_ROOT: %ANDROID_SDK_ROOT%
+
+      # - name: Check Android SDK on Windows (cmd)
+      #   shell: cmd
+      #   env:
+      #     ANDROID_SDK_ROOT: 'C:\Users\ddx\AppData\Local\Android\Sdk'            # <-- 修改为你的 SDK 安装路径
+      #     JAVA_HOME: 'C:\Program Files\Eclipse Adoptium\jdk-17.0.16.8-hotspot\'     # <-- 修改为你的 JDK 路径
+      #     PATH: ${{ env.PATH }}';C:\Android\sdk\platform-tools;C:\Android\sdk\cmdline-tools\latest\bin'
+      #   run: |
+      #     echo USER: %USERNAME%
+      #     echo ANDROID_SDK_ROOT: %ANDROID_SDK_ROOT%
           
       - name: 设置 Node.js 环境
         uses: actions/setup-node@v4
@@ -92,7 +93,7 @@ jobs:
           node-version: '22'
 
       - name: 安装依赖
-        run: npm install --force
+        run: npm install --force --registry=https://registry.npmmirror.com/
       - name: 构建h5
         run: npm run h5_for_production
 
@@ -102,16 +103,44 @@ jobs:
           java-version: '17'
           distribution: 'temurin'
 
-      - name: Set up Android SDK (包括 build-tools 35.0.0)
-        uses: android-actions/setup-android@v3
-        with:
-          packages: >-  # 多行 YAML,避免空格问题
-            tools
-            platform-tools
-            platforms;android-35
-            build-tools;35.0.0
-          accept-android-sdk-licenses: true
-          log-accepted-android-sdk-licenses: true
+      - name: 手动安装 Android SDK (Windows)
+        if: runner.os == 'Windows'
+        shell: powershell
+        run: |
+          $url = "https://dl.google.com/android/repository/commandlinetools-win-11076708_latest.zip"
+          $output = "$env:TEMP\cmdtools.zip"
+          Invoke-WebRequest -Uri $url -OutFile $output
+          
+          $sdkRoot = "C:\android-sdk"
+          $cmdlineTools = "$sdkRoot\cmdline-tools\latest"
+          New-Item -ItemType Directory -Force -Path $cmdlineTools
+          Expand-Archive -Path $output -DestinationPath $cmdlineTools -Force
+          
+          echo "ANDROID_HOME=$sdkRoot" >> $env:GITHUB_ENV
+          echo "ANDROID_SDK_ROOT=$sdkRoot" >> $env:GITHUB_ENV
+          
+          & "$cmdlineTools\bin\sdkmanager.bat" --install "platforms;android-35" "build-tools;35.0.0" --sdk_root=$sdkRoot
+          echo y | & "$cmdlineTools\bin\sdkmanager.bat" --licenses --sdk_root=$sdkRoot
+
+      - name: 手动安装 Android SDK (Linux)
+        if: runner.os == 'Linux'
+        shell: bash
+        run: |
+          # 下载 Linux 版本的 command line tools
+          wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O /tmp/cmdtools.zip
+          
+          # 解压
+          SDK_ROOT=$HOME/android-sdk
+          mkdir -p $SDK_ROOT/cmdline-tools/latest
+          unzip -q /tmp/cmdtools.zip -d $SDK_ROOT/cmdline-tools/latest
+          
+          # 设置环境变量
+          echo "ANDROID_HOME=$SDK_ROOT" >> $GITHUB_ENV
+          echo "ANDROID_SDK_ROOT=$SDK_ROOT" >> $GITHUB_ENV
+          
+          # 安装包
+          yes | $SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install "platforms;android-35" "build-tools;35.0.0" --sdk_root=$SDK_ROOT
+          yes | $SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --licenses --sdk_root=$SDK_ROOT
 
       - name: Cache Android SDK  # 新增:缓存 SDK,避免每次下载
         uses: actions/cache@v4