build-apk-for-user.yml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. name: Build APK for User
  2. on:
  3. workflow_dispatch:
  4. inputs:
  5. branch:
  6. description: '要构建的分支'
  7. required: true
  8. default: 'trae/solo-agent-vhkVM3'
  9. permissions:
  10. contents: write
  11. jobs:
  12. build:
  13. runs-on: ubuntu-latest
  14. steps:
  15. - name: Checkout code
  16. uses: actions/checkout@v5
  17. with:
  18. ref: ${{ github.event.inputs.branch }}
  19. fetch-depth: 0
  20. - name: Set up JDK 21
  21. uses: actions/setup-java@v5
  22. with:
  23. distribution: 'temurin'
  24. java-version: 21
  25. - name: Set up Gradle
  26. uses: gradle/actions/setup-gradle@v4
  27. - name: Clear 18PlusList.txt
  28. run: |
  29. echo "清空18PlusList.txt"
  30. echo "" > $GITHUB_WORKSPACE/app/src/main/assets/18PlusList.txt
  31. - name: Remove Aliyun mirrors (unreliable in CI)
  32. run: |
  33. sed -i '/maven.aliyun.com/d' settings.gradle
  34. - name: Build Debug APK
  35. run: |
  36. chmod +x gradlew
  37. ./gradlew assembleAppDebug -PenableAbiSplits=false --no-daemon --no-configuration-cache
  38. env:
  39. COMMIT_NUMBER: ${{ github.run_number }}
  40. APP_VERSION_NAME: debug-${{ github.run_number }}
  41. - name: Check Build Output
  42. run: |
  43. APK_PATH="$GITHUB_WORKSPACE/app/build/outputs/apk/app/debug"
  44. echo "检查 APK 输出目录: $APK_PATH"
  45. ls -la "$APK_PATH" || true
  46. APK_COUNT=$(find "$APK_PATH" -maxdepth 1 -name "*.apk" | wc -l | tr -d ' ')
  47. if [ "$APK_COUNT" -ne 1 ]; then
  48. echo "预期生成 1 个 universal APK,实际生成 $APK_COUNT 个!"
  49. exit 1
  50. fi
  51. - name: Rename APK Files
  52. run: |
  53. APK_PATH="$GITHUB_WORKSPACE/app/build/outputs/apk/app/debug"
  54. cd "$APK_PATH"
  55. mv -- *.apk "legado-debug-${GITHUB_RUN_NUMBER}-universal.apk"
  56. ls -la
  57. - name: Create ZIP Archive
  58. run: |
  59. APK_PATH="$GITHUB_WORKSPACE/app/build/outputs/apk/app/debug"
  60. ZIP_NAME="legado-debug-apks-${GITHUB_RUN_NUMBER}.zip"
  61. cd "$APK_PATH"
  62. zip "$GITHUB_WORKSPACE/$ZIP_NAME" *.apk
  63. echo "ZIP 文件已创建: $ZIP_NAME"
  64. ls -la "$GITHUB_WORKSPACE/$ZIP_NAME"
  65. - name: Upload APK Artifacts
  66. uses: actions/upload-artifact@v4
  67. with:
  68. name: legado-apks-${{ github.run_number }}
  69. path: app/build/outputs/apk/app/debug/*.apk
  70. - name: Upload ZIP Artifact
  71. uses: actions/upload-artifact@v4
  72. with:
  73. name: legado-apks-zip-${{ github.run_number }}
  74. path: legado-debug-apks-*.zip