def releaseAbiSplitsEnabled = providers .gradleProperty("releaseAbiSplits") .map { value -> value.toBoolean() } .getOrElse(false) react { hermesFlags = ["-O", "-output-source-map"] } android { defaultConfig { // Library resources (Material Components, RN, play-services) only for // languages the app itself ships (src/i18n/languages/*); other locales // fall back to English, matching the app's own JS fallback. resConfigs "af", "ar", "as", "ca", "cs", "da", "de", "el", "en", "es", "fi", "fr", "he", "hi", "hu", "id", "it", "ja", "ko", "nl", "no", "or", "pl", "pt", "ro", "ru", "sq", "sr", "sv", "tr", "uk", "vi", "zh" } splits { abi { enable releaseAbiSplitsEnabled reset() include "arm64-v8a", "armeabi-v7a", "x86", "x86_64" universalApk releaseAbiSplitsEnabled } } buildTypes { debug { signingConfig signingConfigs.debug applicationIdSuffix "debug" versionNameSuffix "-debug" } preRelease { initWith release matchingFallbacks = ["release"] applicationIdSuffix ".preRelease" versionNameSuffix "-pre-release" signingConfig signingConfigs.debug resValue "string", "app_name", "LNReader Preview" } } } def preReleaseVersionCode = providers.gradleProperty("preReleaseVersionCode") def preReleaseVersionName = providers.gradleProperty("preReleaseVersionName") androidComponents { onVariants(selector().withBuildType("preRelease")) { variant -> variant.outputs.each { output -> if (preReleaseVersionCode.isPresent()) { output.versionCode.set( preReleaseVersionCode.map { value -> value.toInteger() }, ) } if (preReleaseVersionName.isPresent()) { output.versionName.set(preReleaseVersionName) } } } }