From 0d1d7a9b8781e81c4f9ea3b40a7a466d25da4226 Mon Sep 17 00:00:00 2001 From: Vasyl Gello Date: Sun, 4 Aug 2024 04:34:08 +0000 Subject: [PATCH] Guard parameters for universal apk (#8943) * Guard parameters for universal apk Signed-off-by: Vasyl Gello * Free space before android builds Signed-off-by: Vasyl Gello --------- Signed-off-by: Vasyl Gello --- .github/workflows/flutter-build.yml | 51 +++++++++++++++++++++++++---- 1 file changed, 45 insertions(+), 6 deletions(-) diff --git a/.github/workflows/flutter-build.yml b/.github/workflows/flutter-build.yml index d26cb663f..1493e9983 100644 --- a/.github/workflows/flutter-build.yml +++ b/.github/workflows/flutter-build.yml @@ -855,6 +855,17 @@ jobs: suffix: "", } steps: + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + tool-cache: false + android: false + dotnet: true + haskell: true + large-packages: false + docker-images: true + swap-storage: false + - name: Export GitHub Actions cache environment variables uses: actions/github-script@v6 with: @@ -1100,7 +1111,20 @@ jobs: runs-on: ubuntu-20.04 env: reltype: release + x86_target: "" # can be ",android-x86" + suffix: "" steps: + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + tool-cache: false + android: false + dotnet: true + haskell: true + large-packages: false + docker-images: true + swap-storage: false + - name: Export GitHub Actions cache environment variables uses: actions/github-script@v6 with: @@ -1161,19 +1185,26 @@ jobs: uses: actions/download-artifact@master with: name: librustdesk.so.aarch64-linux-android - path: ./flutter/android/app/src/main/jniLibs/arm64-v8a/librustdesk.so + path: ./flutter/android/app/src/main/jniLibs/arm64-v8a - name: Download Rustdesk library from Artifacts uses: actions/download-artifact@master with: name: librustdesk.so.armv7-linux-androideabi - path: ./flutter/android/app/src/main/jniLibs/armeabi-v7a/librustdesk.so + path: ./flutter/android/app/src/main/jniLibs/armeabi-v7a - name: Download Rustdesk library from Artifacts uses: actions/download-artifact@master with: name: librustdesk.so.x86_64-linux-android - path: ./flutter/android/app/src/main/jniLibs/x86_64/librustdesk.so + path: ./flutter/android/app/src/main/jniLibs/x86_64 + + - name: Download Rustdesk library from Artifacts + if: ${{ env.reltype == 'debug' }} + uses: actions/download-artifact@master + with: + name: librustdesk.so.i686-linux-android + path: ./flutter/android/app/src/main/jniLibs/x86 - name: fix android for flutter 3.13 if: $${{ env.ANDROID_FLUTTER_VERSION == '3.13.9' }} @@ -1190,14 +1221,22 @@ jobs: export PATH=/usr/lib/jvm/java-11-openjdk-amd64/bin:$PATH # temporary use debug sign config sed -i "s/signingConfigs.release/signingConfigs.debug/g" ./flutter/android/app/build.gradle + mv ./flutter/android/app/src/main/jniLibs/arm64-v8a/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/librustdesk.so cp ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/ + mv ./flutter/android/app/src/main/jniLibs/armeabi-v7a/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/armeabi-v7a/librustdesk.so cp ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi/libc++_shared.so ./flutter/android/app/src/main/jniLibs/armeabi-v7a/ + mv ./flutter/android/app/src/main/jniLibs/x86_64/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/x86_64/librustdesk.so cp ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/x86_64-linux-android/libc++_shared.so ./flutter/android/app/src/main/jniLibs/x86_64/ + if [ "${{ env.reltype }}" = "debug" ]; then + mv ./flutter/android/app/src/main/jniLibs/x86/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/x86/librustdesk.so + cp ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/i686-linux-android/libc++_shared.so ./flutter/android/app/src/main/jniLibs/x86/ + fi # build flutter pushd flutter - flutter build apk "--${{ env.reltype }}" --target-platform android-arm64,android-arm,android-x64 + flutter build apk "--${{ env.reltype }}" --target-platform android-arm64,android-arm,android-x64${{ env.x86_target }} + popd mkdir -p signed-apk - mv build/app/outputs/flutter-apk/app-${{ env.reltype }}.apk ../signed-apk/rustdesk-${{ env.VERSION }}-universal.apk + mv ./flutter/build/app/outputs/flutter-apk/app-${{ env.reltype }}.apk signed-apk/rustdesk-${{ env.VERSION }}-universal${{ env.suffix }}.apk - uses: r0adkll/sign-android-release@v1 name: Sign app APK @@ -1236,7 +1275,7 @@ jobs: prerelease: true tag_name: ${{ env.TAG_NAME }} files: | - signed-apk/rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.apk + signed-apk/rustdesk-${{ env.VERSION }}-universal${{ env.suffix }}.apk build-rustdesk-linux: needs: [generate-bridge-linux]