From dccd155ba689e58bfa5e4ba7c89cbe81f629f4bd Mon Sep 17 00:00:00 2001 From: agnostic-apollo Date: Fri, 2 Jul 2021 06:14:38 +0500 Subject: [PATCH] Enable split apks for debug builds APKs for each architecture and a universal APK that is compatible for all architectures will now be available from Github Actions page from the workflow runs labeled `Build`. The APKs will be available as zips under the Artifact section named `termux-app-*`. Architecture specific APKs can be used by users with low disk space since F-Droid releases are universal (since it doesn't support split APKs #1904) and their install+bootstrap installation size is ~180MB instead of ~120MB if an architecture specific APK is used. This should also reduce bandwidth usage and download time for debug builds users if they download an architecture specific zip instead of the universal one. Related #2153 --- .github/workflows/debug_build.yml | 36 ++++++++++++++++++++++++++++--- app/build.gradle | 10 ++++++--- 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/.github/workflows/debug_build.yml b/.github/workflows/debug_build.yml index 0439523e..097bfddb 100644 --- a/.github/workflows/debug_build.yml +++ b/.github/workflows/debug_build.yml @@ -19,8 +19,38 @@ jobs: - name: Build run: | ./gradlew assembleDebug - - name: Store generated APK file + - name: Store generated universal APK file uses: actions/upload-artifact@v2 with: - name: termux-app - path: ./app/build/outputs/apk/debug + name: termux-app-universal + path: | + ./app/build/outputs/apk/debug/app-universal-debug.apk + ./app/build/outputs/apk/debug/output-metadata.json + - name: Store generated arm64-v8a APK file + uses: actions/upload-artifact@v2 + with: + name: termux-app-arm64-v8a + path: | + ./app/build/outputs/apk/debug/app-arm64-v8a-debug.apk + ./app/build/outputs/apk/debug/output-metadata.json + - name: Store generated armeabi-v7a APK file + uses: actions/upload-artifact@v2 + with: + name: termux-app-armeabi-v7a + path: | + ./app/build/outputs/apk/debug/app-armeabi-v7a-debug + ./app/build/outputs/apk/debug/output-metadata.json + - name: Store generated x86_64 APK file + uses: actions/upload-artifact@v2 + with: + name: termux-app-x86_64 + path: | + ./app/build/outputs/apk/debug/app-x86_64-debug.apk + ./app/build/outputs/apk/debug/output-metadata.json + - name: Store generated x86 APK file + uses: actions/upload-artifact@v2 + with: + name: termux-app-x86 + path: | + ./app/build/outputs/apk/debug/app-x86-debug.apk + ./app/build/outputs/apk/debug/output-metadata.json diff --git a/app/build.gradle b/app/build.gradle index ecee202c..540419b1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -44,10 +44,14 @@ android { } } - ndk { - abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' + splits { + abi { + enable gradle.startParameter.taskNames.any { it.contains("Debug") } + reset () + include 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' + universalApk true + } } - } signingConfigs {