From 04d3df080ce53a0ec7bc922d15dd18e40597e276 Mon Sep 17 00:00:00 2001 From: althafvly Date: Tue, 30 Sep 2025 13:05:53 +0530 Subject: [PATCH 1/2] Build seperate apk for abis --- play-services-core/build.gradle | 17 ++++++++++++++--- play-services-maps/core/hms/build.gradle | 9 +++++++-- play-services-maps/core/mapbox/build.gradle | 9 +++++++-- play-services-maps/core/vtm/build.gradle | 9 +++++++-- 4 files changed, 35 insertions(+), 9 deletions(-) diff --git a/play-services-core/build.gradle b/play-services-core/build.gradle index 1b943ecaf..2b86575d5 100644 --- a/play-services-core/build.gradle +++ b/play-services-core/build.gradle @@ -136,9 +136,14 @@ android { buildConfigField "String", "RECAPTCHA_ENTERPRISE_PROJECT_ID", "\"${localProperties.get("recaptchaEnterpreise.projectId", "")}\"" buildConfigField "String", "RECAPTCHA_ENTERPRISE_SITE_KEY", "\"${localProperties.get("recaptchaEnterpreise.siteKey", "")}\"" buildConfigField "String", "RECAPTCHA_ENTERPRISE_API_KEY", "\"${localProperties.get("recaptchaEnterpreise.apiKey", "")}\"" + } - ndk { - abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64" + splits { + abi { + enable true + reset() + include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' + universalApk false } } @@ -277,6 +282,12 @@ if (file('user.gradle').exists()) { android.applicationVariants.all { variant -> variant.outputs.each { output -> - output.outputFileName = variant.applicationId + "-" + variant.versionCode + variant.versionName.substring(version.length()) + ".apk" + + def abi = output.getFilter(com.android.build.OutputFile.ABI) + if (abi == null) { + abi = "universal" + } + + output.outputFileName = "${variant.applicationId}-${variant.versionCode}-${variant.versionName}-${abi}.apk" } } diff --git a/play-services-maps/core/hms/build.gradle b/play-services-maps/core/hms/build.gradle index 9ca2082e0..3abba9e83 100644 --- a/play-services-maps/core/hms/build.gradle +++ b/play-services-maps/core/hms/build.gradle @@ -25,9 +25,14 @@ android { minSdkVersion androidMinSdk targetSdkVersion androidTargetSdk buildConfigField "String", "HMSMAP_KEY", "\"${localProperties.getProperty("hmsmap.key", "")}\"" + } - ndk { - abiFilters "armeabi", "armeabi-v7a", "arm64-v8a" + splits { + abi { + enable true + reset() + include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' + universalApk false } } diff --git a/play-services-maps/core/mapbox/build.gradle b/play-services-maps/core/mapbox/build.gradle index 561eaf24b..c02227eae 100644 --- a/play-services-maps/core/mapbox/build.gradle +++ b/play-services-maps/core/mapbox/build.gradle @@ -68,9 +68,14 @@ android { targetSdkVersion androidTargetSdk buildConfigField "String", "MAPBOX_KEY", "\"${localProperties.getProperty("mapbox.key", System.getenv('MAPBOX_VECTOR_TILES_KEY') ?: "")}\"" buildConfigField "String", "STADIA_KEY", "\"${localProperties.getProperty("stadia.key", System.getenv('STADIA_API_KEY') ?: "")}\"" + } - ndk { - abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86", "x86_64" + splits { + abi { + enable true + reset() + include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' + universalApk false } } diff --git a/play-services-maps/core/vtm/build.gradle b/play-services-maps/core/vtm/build.gradle index ce66fa9a3..e888550cc 100644 --- a/play-services-maps/core/vtm/build.gradle +++ b/play-services-maps/core/vtm/build.gradle @@ -52,9 +52,14 @@ android { minSdkVersion androidMinSdk targetSdkVersion androidTargetSdk + } - ndk { - abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86", "x86_64" + splits { + abi { + enable true + reset() + include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' + universalApk false } } -- GitLab From b262aaec404ad4baec52cc0c114643f4d86c5061 Mon Sep 17 00:00:00 2001 From: althafvly Date: Tue, 30 Sep 2025 14:00:21 +0530 Subject: [PATCH 2/2] Build specific target we need --- .gitlab-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 11047987e..a43fd8bcf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,8 +36,8 @@ build: - echo modules.nearby false >> local.properties script: - ./gradlew hideSecretFromPropertiesFile -PpropertiesFileName=credentials.properties -Ppackage=com.google.android.gms - - ./gradlew assembleDebug - - ./gradlew assembleRelease + - ./gradlew assembleMapboxDefaultDebug assembleDefaultDebug + - ./gradlew assembleMapboxDefaultRelease assembleDefaultRelease artifacts: paths: - play-services-core/build/outputs/apk/ @@ -54,8 +54,8 @@ build-nearby: - echo modules.nearby true >> local.properties script: - ./gradlew hideSecretFromPropertiesFile -PpropertiesFileName=credentials.properties -Ppackage=com.google.android.gms - - ./gradlew assembleDebug - - ./gradlew assembleRelease + - ./gradlew assembleMapboxDefaultDebug assembleDefaultDebug + - ./gradlew assembleMapboxDefaultRelease assembleDefaultRelease publish: stage: publish -- GitLab