Fix GitHub Actions: Remove unsupported android-x86 platform #25
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build & Release APK | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| name: Build Release APK | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Setup Java | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - name: Setup Flutter | |
| uses: subosito/flutter-action@v2 | |
| with: | |
| flutter-version: '3.38.4' | |
| channel: 'stable' | |
| cache: true | |
| - name: Flutter Doctor | |
| run: flutter doctor -v | |
| - name: Install Dependencies | |
| run: flutter pub get | |
| - name: Decode Keystore | |
| env: | |
| KEYSTORE_BASE64: ${{ secrets.KEYSTORE_FILE_BASE64 }} | |
| run: | | |
| echo "$KEYSTORE_BASE64" | base64 -d > android/app/release.keystore | |
| - name: Build Release APKs (Split) | |
| env: | |
| KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} | |
| KEY_ALIAS: ${{ secrets.KEY_ALIAS }} | |
| KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} | |
| run: | | |
| flutter build apk --release --split-per-abi \ | |
| --target-platform android-arm,android-arm64,android-x64 | |
| - name: Build Universal APK | |
| env: | |
| KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} | |
| KEY_ALIAS: ${{ secrets.KEY_ALIAS }} | |
| KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} | |
| run: | | |
| flutter build apk --release | |
| - name: Get Version | |
| id: version | |
| run: | | |
| if [ "${{ github.ref_type }}" == "tag" ]; then | |
| VERSION="${{ github.ref_name }}" | |
| else | |
| VERSION="v1.7.0" | |
| fi | |
| echo "version=$VERSION" >> $GITHUB_OUTPUT | |
| - name: Prepare Release Files | |
| run: | | |
| mkdir -p release-apks | |
| cp build/app/outputs/flutter-apk/app-arm64-v8a-release.apk release-apks/ZedSecure-${{ steps.version.outputs.version }}-arm64-v8a.apk | |
| cp build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk release-apks/ZedSecure-${{ steps.version.outputs.version }}-armeabi-v7a.apk | |
| cp build/app/outputs/flutter-apk/app-x86_64-release.apk release-apks/ZedSecure-${{ steps.version.outputs.version }}-x86_64.apk | |
| cp build/app/outputs/flutter-apk/app-release.apk release-apks/ZedSecure-${{ steps.version.outputs.version }}-universal.apk | |
| - name: Upload ARM64 APK | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ZedSecure-arm64-v8a | |
| path: release-apks/ZedSecure-${{ steps.version.outputs.version }}-arm64-v8a.apk | |
| - name: Upload ARMv7 APK | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ZedSecure-armeabi-v7a | |
| path: release-apks/ZedSecure-${{ steps.version.outputs.version }}-armeabi-v7a.apk | |
| - name: Upload x86_64 APK | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ZedSecure-x86_64 | |
| path: release-apks/ZedSecure-${{ steps.version.outputs.version }}-x86_64.apk | |
| - name: Upload Universal APK | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ZedSecure-universal | |
| path: release-apks/ZedSecure-${{ steps.version.outputs.version }}-universal.apk | |
| - name: Create GitHub Release | |
| if: startsWith(github.ref, 'refs/tags/') | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| files: | | |
| release-apks/ZedSecure-${{ steps.version.outputs.version }}-arm64-v8a.apk | |
| release-apks/ZedSecure-${{ steps.version.outputs.version }}-armeabi-v7a.apk | |
| release-apks/ZedSecure-${{ steps.version.outputs.version }}-x86_64.apk | |
| release-apks/ZedSecure-${{ steps.version.outputs.version }}-universal.apk | |
| body: | | |
| ## ZedSecure VPN ${{ steps.version.outputs.version }} | |
| ### Downloads | |
| | Architecture | File | Devices | | |
| |-------------|------|---------| | |
| | ARM64-v8a | `ZedSecure-${{ steps.version.outputs.version }}-arm64-v8a.apk` | Modern devices (2015+) - **Recommended** | | |
| | ARMv7a | `ZedSecure-${{ steps.version.outputs.version }}-armeabi-v7a.apk` | Older devices | | |
| | x86_64 | `ZedSecure-${{ steps.version.outputs.version }}-x86_64.apk` | Emulators/x86 devices | | |
| | Universal | `ZedSecure-${{ steps.version.outputs.version }}-universal.apk` | All devices (larger size) | | |
| ### What's New in v1.7.0 | |
| #### 🆕 New Features | |
| - **HevTun Integration**: Replaced FluxTun with hev-socks5-tunnel for better performance | |
| - **Subscription Grouping**: Tab-based navigation for each subscription (like v2rayNG) | |
| - **Subscription Info**: Display traffic usage, expiry date, and progress bars | |
| - **Auto Select Best Server**: Automatically ping and select the fastest server | |
| - **Real Ping Testing**: Uses measureOutboundDelay for accurate latency measurement | |
| #### 🔧 Improvements | |
| - **Server Organization**: Separate tabs for each subscription with server count | |
| - **Traffic Monitoring**: Visual progress bars for subscription data usage | |
| - **Expiry Tracking**: Countdown timer for subscription expiration | |
| - **Smart Filtering**: Filter servers by subscription in real-time | |
| - **Enhanced Ping**: Sequential ping with 200ms delay and 15s timeout | |
| #### 🐛 Bug Fixes | |
| - Fixed JNI registration for HevTun native library | |
| - Improved subscription update logic to replace old configs | |
| - Fixed country detection with multiple fallback APIs | |
| - Better error handling for subscription parsing | |
| ### Installation | |
| 1. Download the appropriate APK for your device | |
| 2. Enable "Install from Unknown Sources" in Android settings | |
| 3. Install the APK | |
| 4. Grant VPN and notification permissions | |
| ### Acknowledgments | |
| - [hev-socks5-tunnel](https://github.com/heiher/hev-socks5-tunnel/) - High-performance TUN implementation | |
| --- | |
| **Telegram**: https://t.me/CluvexStudio | |
| Developed by CluvexStudio | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |