build-apk-for-user.yml 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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 --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. if [ -z "$(find "$APK_PATH" -name "*.apk" -print -quit)" ]; then
  47. echo "未找到 APK 文件!"
  48. exit 1
  49. fi
  50. - name: Rename APK Files
  51. run: |
  52. APK_PATH="$GITHUB_WORKSPACE/app/build/outputs/apk/app/debug"
  53. cd "$APK_PATH"
  54. for f in *.apk; do
  55. mv "$f" "legado-debug-${GITHUB_RUN_NUMBER}-${f}"
  56. done
  57. ls -la
  58. - name: Create ZIP Archive
  59. run: |
  60. APK_PATH="$GITHUB_WORKSPACE/app/build/outputs/apk/app/debug"
  61. ZIP_NAME="legado-debug-apks-${GITHUB_RUN_NUMBER}.zip"
  62. cd "$APK_PATH"
  63. zip "$GITHUB_WORKSPACE/$ZIP_NAME" *.apk
  64. echo "ZIP 文件已创建: $ZIP_NAME"
  65. ls -la "$GITHUB_WORKSPACE/$ZIP_NAME"
  66. - name: Upload APK Artifacts
  67. uses: actions/upload-artifact@v4
  68. with:
  69. name: legado-apks-${{ github.run_number }}
  70. path: app/build/outputs/apk/app/debug/*.apk
  71. - name: Upload ZIP Artifact
  72. uses: actions/upload-artifact@v4
  73. with:
  74. name: legado-apks-zip-${{ github.run_number }}
  75. path: legado-debug-apks-*.zip