Я хочу изменить свой build.gradle(app) для создания APK-файлов для каждой архитектуры и с четырьмя различными дополнительными версиями кода. я не знаю, как именно это сделать
это мой build.gradle
Я хочу опубликовать свое приложение в магазине, который не принимает формат .aab и мне нужно сгенерировать разбиения, а для облегчения приложений мне нужно сгенерировать разбиения
спасибо
применить плагин: «com.android.application» применить плагин: «com.facebook.react» применить плагин: «com.google.gms.google-services» /** * Это блок конфигурации для настройки вашего приложения React Native для Android. * По умолчанию вам не нужно применять какие-либо настройки, просто раскомментируйте нужные строки. */ реагировать { /* Папки */ // Корень вашего проекта, т. е. место, где находится package.json. По умолчанию — «..» // корень = файл("../") // Папка, в которой находится собственный пакет NPM для реагирования. По умолчанию — ../node_modules/react-native. // responseNativeDir = file("../node_modules/react-native") // Папка, в которой находится собственный пакет Codegen. По умолчанию — ../node_modules/@react-native/codegen. // codegenDir = file("../node_modules/@react-native/codegen") // Файл cli.js, который является точкой входа React Native CLI. По умолчанию — ../node_modules/react-native/cli.js. // cliFile = file("../node_modules/react-native/cli.js") /* Варианты */ // Список вариантов, которые можно отладить. Для тех, кого мы собираемся // пропустить объединение пакета JS и ресурсов. По умолчанию это просто «отладка». // Если вы добавите такие варианты, как lite, prod и т. д., вам придется указать свои отлаживаемые варианты. // debuggableVariants = ["liteDebug", "prodDebug"] /* Объединение */ // Список, содержащий команду узла и ее флаги. По умолчанию это просто «узел». // nodeExecutableAndArgs = ["узел"] // // Команда, выполняемая при объединении. По умолчанию это «пакет» // BundleCommand = "ram-bundle" // // Путь к файлу конфигурации CLI. По умолчанию пусто. // BundleConfig = файл(../rn-cli.config.js) // // Имя сгенерированного файла ресурса, содержащего ваш пакет JS // BundleAssetName = "MyApplication.android.bundle" // // Входной файл для создания пакета. По умолчанию – index.android.js или index.js. // входной файл = файл("../js/MyApplication.android.js") // // Список дополнительных флагов для передачи командам "bundle". // См. https://github.com/react-native-communi ... .md#bundle // экстраПакагерАргс = [] /* Команды Гермеса */ // Команда компилятора Hermes для запуска. По умолчанию это «гермеск». // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" // // Список флагов для передачи компилятору Hermes. По умолчанию это «-O», «-output-source-map». // hermesFlags = ["-O", "-output-source-map"] } /** * Установите для этого параметра значение true, чтобы запускать Proguard в сборках Release для минимизации байт-кода Java. */ защита EnableProguardInReleaseBuilds = false Защиту EnableSeparateBuildPerCPUArchitecture = true /** * Предпочтительный вариант сборки JavaScriptCore (JSC). * * Например, чтобы использовать международный вариант, вы можете использовать: * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` * * Международный вариант включает библиотеку ICU i18n и необходимые данные. * позволяет использовать, например. `Date.toLocaleString` и `String.localeCompare`, которые * дают правильные результаты при использовании языков, отличных от en-US. Обратите внимание, что * этот вариант примерно на 6 МБ больше для каждой архитектуры, чем по умолчанию. */ def jscFlavor = 'org.webkit:android-jsc:+' андроид { ndkVersion rootProject.ext.ndkVersion compileSdkVersion rootProject.ext.compileSdkVersion пространство имен «com.solu.translator» defaultConfig { идентификатор приложения «com.solu.translator» minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion Код версии 35 Имя версии "1.4.0" VectorDrawables.useSupportLibrary = true def marketApplicationId = "ir.mservices.market" def marketBindAddress = "ir.mservices.market.InAppBillingService.BIND" ManifestPlaceholders = [marketApplicationId: "${marketApplicationId}", marketBindAddress : "${marketBindAddress}", marketPermission: "${marketApplicationId}.BILLING"] } расщепляет { аби { перезагрузить() включить EnableSeparateBuildPerCPUArchitecture UniversalApk false // Если true, также сгенерировать универсальный APK включить «armeabi-v7a», «x86», «arm64-v8a», «x86_64» } } подписываниеConfigs { отладка { файл storeFile('debug.keystore') storePassword 'android' keyAlias 'androiddebugkey' ключевой пароль «android» } } типы сборки { отладка { SigningConfig SigningConfigs.debug } выпускать { // Осторожность! В рабочей среде вам необходимо создать собственный файл хранилища ключей. // см. https://reactnative.dev/docs/signed-apk-android. SigningConfig SigningConfigs.debug minifyEnabled EnableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" } } } зависимости { // Версия реакции-native устанавливается плагином React Native Gradle реализация("com.facebook.react:реагировать-android") debugImplementation("com.facebook.flipper
Мобильная версия