name: Build APK for User on: workflow_dispatch: inputs: branch: description: '要构建的分支' required: true default: 'trae/solo-agent-vhkVM3' permissions: contents: write jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v5 with: ref: ${{ github.event.inputs.branch }} fetch-depth: 0 - name: Set up JDK 21 uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: 21 - name: Set up Gradle uses: gradle/actions/setup-gradle@v4 - name: Clear 18PlusList.txt run: | echo "清空18PlusList.txt" echo "" > $GITHUB_WORKSPACE/app/src/main/assets/18PlusList.txt - name: Remove Aliyun mirrors (unreliable in CI) run: | sed -i '/maven.aliyun.com/d' settings.gradle - name: Build Debug APK run: | chmod +x gradlew ./gradlew assembleAppDebug -PenableAbiSplits=false --no-daemon --no-configuration-cache env: COMMIT_NUMBER: ${{ github.run_number }} APP_VERSION_NAME: debug-${{ github.run_number }} - name: Check Build Output run: | APK_PATH="$GITHUB_WORKSPACE/app/build/outputs/apk/app/debug" echo "检查 APK 输出目录: $APK_PATH" ls -la "$APK_PATH" || true APK_COUNT=$(find "$APK_PATH" -maxdepth 1 -name "*.apk" | wc -l | tr -d ' ') if [ "$APK_COUNT" -ne 1 ]; then echo "预期生成 1 个 universal APK,实际生成 $APK_COUNT 个!" exit 1 fi - name: Rename APK Files run: | APK_PATH="$GITHUB_WORKSPACE/app/build/outputs/apk/app/debug" cd "$APK_PATH" mv -- *.apk "legado-debug-${GITHUB_RUN_NUMBER}-universal.apk" ls -la - name: Create ZIP Archive run: | APK_PATH="$GITHUB_WORKSPACE/app/build/outputs/apk/app/debug" ZIP_NAME="legado-debug-apks-${GITHUB_RUN_NUMBER}.zip" cd "$APK_PATH" zip "$GITHUB_WORKSPACE/$ZIP_NAME" *.apk echo "ZIP 文件已创建: $ZIP_NAME" ls -la "$GITHUB_WORKSPACE/$ZIP_NAME" - name: Upload APK Artifacts uses: actions/upload-artifact@v4 with: name: legado-apks-${{ github.run_number }} path: app/build/outputs/apk/app/debug/*.apk - name: Upload ZIP Artifact uses: actions/upload-artifact@v4 with: name: legado-apks-zip-${{ github.run_number }} path: legado-debug-apks-*.zip