|  | 
|  | 1 | +apply plugin: "com.android.application" | 
|  | 2 | +apply plugin: "org.jetbrains.kotlin.android" | 
|  | 3 | +apply plugin: "com.facebook.react" | 
|  | 4 | + | 
|  | 5 | +/** | 
|  | 6 | + * This is the configuration block to customize your React Native Android app. | 
|  | 7 | + * By default you don't need to apply any configuration, just uncomment the lines you need. | 
|  | 8 | + */ | 
|  | 9 | +react { | 
|  | 10 | + /* Folders */ | 
|  | 11 | + // The root of your project, i.e. where "package.json" lives. Default is '../..' | 
|  | 12 | + // root = file("../../") | 
|  | 13 | + // The folder where the react-native NPM package is. Default is ../../node_modules/react-native | 
|  | 14 | + // reactNativeDir = file("../../node_modules/react-native") | 
|  | 15 | + // The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen | 
|  | 16 | + // codegenDir = file("../../node_modules/@react-native/codegen") | 
|  | 17 | + // The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js | 
|  | 18 | + // cliFile = file("../../node_modules/react-native/cli.js") | 
|  | 19 | + | 
|  | 20 | + /* Variants */ | 
|  | 21 | + // The list of variants to that are debuggable. For those we're going to | 
|  | 22 | + // skip the bundling of the JS bundle and the assets. By default is just 'debug'. | 
|  | 23 | + // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. | 
|  | 24 | + // debuggableVariants = ["liteDebug", "prodDebug"] | 
|  | 25 | + | 
|  | 26 | + /* Bundling */ | 
|  | 27 | + // A list containing the node command and its flags. Default is just 'node'. | 
|  | 28 | + // nodeExecutableAndArgs = ["node"] | 
|  | 29 | + // | 
|  | 30 | + // The command to run when bundling. By default is 'bundle' | 
|  | 31 | + // bundleCommand = "ram-bundle" | 
|  | 32 | + // | 
|  | 33 | + // The path to the CLI configuration file. Default is empty. | 
|  | 34 | + // bundleConfig = file(../rn-cli.config.js) | 
|  | 35 | + // | 
|  | 36 | + // The name of the generated asset file containing your JS bundle | 
|  | 37 | + // bundleAssetName = "MyApplication.android.bundle" | 
|  | 38 | + // | 
|  | 39 | + // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' | 
|  | 40 | + // entryFile = file("../js/MyApplication.android.js") | 
|  | 41 | + // | 
|  | 42 | + // A list of extra flags to pass to the 'bundle' commands. | 
|  | 43 | + // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle | 
|  | 44 | + // extraPackagerArgs = [] | 
|  | 45 | + | 
|  | 46 | + /* Hermes Commands */ | 
|  | 47 | + // The hermes compiler command to run. By default it is 'hermesc' | 
|  | 48 | + // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" | 
|  | 49 | + // | 
|  | 50 | + // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" | 
|  | 51 | + // hermesFlags = ["-O", "-output-source-map"] | 
|  | 52 | + | 
|  | 53 | + /* Autolinking */ | 
|  | 54 | + autolinkLibrariesWithApp() | 
|  | 55 | +} | 
|  | 56 | + | 
|  | 57 | +/** | 
|  | 58 | + * Set this to true to Run Proguard on Release builds to minify the Java bytecode. | 
|  | 59 | + */ | 
|  | 60 | +def enableProguardInReleaseBuilds = false | 
|  | 61 | + | 
|  | 62 | +/** | 
|  | 63 | + * The preferred build flavor of JavaScriptCore (JSC) | 
|  | 64 | + * | 
|  | 65 | + * For example, to use the international variant, you can use: | 
|  | 66 | + * `def jscFlavor = io.github.react-native-community:jsc-android-intl:2026004.+` | 
|  | 67 | + * | 
|  | 68 | + * The international variant includes ICU i18n library and necessary data | 
|  | 69 | + * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that | 
|  | 70 | + * give correct results when using with locales other than en-US. Note that | 
|  | 71 | + * this variant is about 6MiB larger per architecture than default. | 
|  | 72 | + */ | 
|  | 73 | +def jscFlavor = 'io.github.react-native-community:jsc-android:2026004.+' | 
|  | 74 | + | 
|  | 75 | +android { | 
|  | 76 | + ndkVersion rootProject.ext.ndkVersion | 
|  | 77 | + buildToolsVersion rootProject.ext.buildToolsVersion | 
|  | 78 | + compileSdk rootProject.ext.compileSdkVersion | 
|  | 79 | + | 
|  | 80 | + namespace "com.rndiffapp" | 
|  | 81 | + defaultConfig { | 
|  | 82 | + applicationId "com.rndiffapp" | 
|  | 83 | + minSdkVersion rootProject.ext.minSdkVersion | 
|  | 84 | + targetSdkVersion rootProject.ext.targetSdkVersion | 
|  | 85 | + versionCode 1 | 
|  | 86 | + versionName "1.0" | 
|  | 87 | + } | 
|  | 88 | + signingConfigs { | 
|  | 89 | + debug { | 
|  | 90 | + storeFile file('debug.keystore') | 
|  | 91 | + storePassword 'android' | 
|  | 92 | + keyAlias 'androiddebugkey' | 
|  | 93 | + keyPassword 'android' | 
|  | 94 | + } | 
|  | 95 | + } | 
|  | 96 | + buildTypes { | 
|  | 97 | + debug { | 
|  | 98 | + signingConfig signingConfigs.debug | 
|  | 99 | + } | 
|  | 100 | + release { | 
|  | 101 | + // Caution! In production, you need to generate your own keystore file. | 
|  | 102 | + // see https://reactnative.dev/docs/signed-apk-android. | 
|  | 103 | + signingConfig signingConfigs.debug | 
|  | 104 | + minifyEnabled enableProguardInReleaseBuilds | 
|  | 105 | + proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" | 
|  | 106 | + } | 
|  | 107 | + } | 
|  | 108 | +} | 
|  | 109 | + | 
|  | 110 | +dependencies { | 
|  | 111 | + // The version of react-native is set by the React Native Gradle Plugin | 
|  | 112 | + implementation("com.facebook.react:react-android") | 
|  | 113 | + | 
|  | 114 | + if (hermesEnabled.toBoolean()) { | 
|  | 115 | + implementation("com.facebook.react:hermes-android") | 
|  | 116 | + } else { | 
|  | 117 | + implementation jscFlavor | 
|  | 118 | + } | 
|  | 119 | +} | 
0 commit comments