From e775cd36c966168da69cd86775de996e2b49b535 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulrich-Matthias=20Sch=C3=A4fer?= Date: Sun, 9 Feb 2025 18:04:26 +0100 Subject: [PATCH] feat: allow to enable abi splitting via env var for local builds - `EAS_BUILD_ENABLE_ABI_SPLITTING` enables abi splitting for all abis - `EAS_BUILD_ABI_LIST` lets you select which abis to build (e.g. "armeabi-v7a,arm64-v8a" --- .../build-tools/templates/eas-build.gradle | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/packages/build-tools/templates/eas-build.gradle b/packages/build-tools/templates/eas-build.gradle index 9e28ed74b..551bed33b 100644 --- a/packages/build-tools/templates/eas-build.gradle +++ b/packages/build-tools/templates/eas-build.gradle @@ -51,4 +51,29 @@ android { signingConfig android.signingConfigs.release } } + + // Dynamic ABI Splitting Configuration + def enableAbiSplittingEnv = System.getenv("EAS_BUILD_ENABLE_ABI_SPLITTING") + boolean enableAbiSplitting = "true".equalsIgnoreCase(enableAbiSplittingEnv) + + if (enableAbiSplitting) { + def abiListEnv = System.getenv("EAS_BUILD_ABI_LIST") + List abiListToInclude = [] + + if (abiListEnv) { + abiListToInclude = abiListEnv.split(',').collect { it.trim() } // Split by comma and trim whitespace + } else { + // Default ABI list if EAS_BUILD_ABI_LIST is not set + abiListToInclude = ['armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'] + } + + splits { + abi { + enable true + reset() + include abiListToInclude as String[] + universalApk false + } + } + } }