jsc-android provides pre-built versions of JavaScriptCore (JSC) for integration into React Native applications running on the Android platform. It is a critical native dependency for React Native's JavaScript runtime on Android, allowing developers to use a modern and optimized JavaScript engine. The project is actively maintained by the React Native community, with releases tied to WebKitGTK updates and React Native compatibility. Recent stable versions like `v294992.0.0` (as of its release) include updates to WebKitGTK and React Native compatibility. Its key differentiator is providing an up-to-date, performant JSC engine for Android, often replacing older system-provided WebView JavaScript engines. This approach allows for more frequent JSC updates on Android, aligning with how React Native on iOS utilizes the built-in, frequently updated JSC.
npm install jsc-androidVerified import paths — ran on the pinned version, not inferred.
This code illustrates a basic React Native application that implicitly uses `jsc-android` as its JavaScript runtime on Android. It highlights that no direct JavaScript/TypeScript imports are needed, as `jsc-android` is a native build dependency. The description also guides users to verify its inclusion via the Android project's `build.gradle` file.
Update your `minSdkVersion` to 21 or higher in `android/app/build.gradle`.
Ensure your `android/app/build.gradle` specifies `implementation "org.webkit:android-jsc-intl:+"` and that any `resolutionStrategy` is updated accordingly.
Upgrade to `jsc-android@250230.2.1` or a newer version to benefit from crash fixes for `arm64` architectures.
Increase `minSdkVersion` to 21 or higher in your `android/app/build.gradle` file.
Add `maven { url "$rootDir/../node_modules/jsc-android/dist" }` to your `allprojects.repositories` block in `android/build.gradle`. Ensure the dependency in `app/build.gradle` is `implementation "org.webkit:android-jsc-intl:+"`.Upgrade `jsc-android` to version `250230.2.1` or later, which includes fixes for `arm64` crashes.
Add `packagingOptions { pickFirst '**/libgnustl_shared.so' }` (or the conflicting file path) to your `android` block in `app/build.gradle`.