diff options
| author | hc <haocheng.xie@respiree.com> | 2026-04-10 17:39:12 +0800 |
|---|---|---|
| committer | hc <haocheng.xie@respiree.com> | 2026-04-10 17:39:22 +0800 |
| commit | e4fb9966e762852bf17f21c8406501d42fae0b61 (patch) | |
| tree | 658bbdba977ff7846a17ee94b8ed6b676f6ce9dd /android/app/build.gradle | |
Initial commit: iHealth BLE scanner app with patched SDK v1.5.0
Diffstat (limited to 'android/app/build.gradle')
| -rw-r--r-- | android/app/build.gradle | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..853b346 --- /dev/null +++ b/android/app/build.gradle | |||
| @@ -0,0 +1,120 @@ | |||
| 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. Default is "debug", "debugOptimized". | ||
| 23 | // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. | ||
| 24 | // debuggableVariants = ["liteDebug", "liteDebugOptimized", "prodDebug", "prodDebugOptimized"] | ||
| 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.ihealthscanner" | ||
| 81 | defaultConfig { | ||
| 82 | applicationId "com.ihealthscanner" | ||
| 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 | implementation project(':ihealthlibrary-react-native') | ||
| 114 | |||
| 115 | if (hermesEnabled.toBoolean()) { | ||
| 116 | implementation("com.facebook.react:hermes-android") | ||
| 117 | } else { | ||
| 118 | implementation jscFlavor | ||
| 119 | } | ||
| 120 | } | ||
