This repository contains automated builds of Google V8 static libraries for multiple platforms using GitHub Actions.
English | 简体中文
14.3.92
- Android (arm64, arm, x64)
- iOS (XCFramework: arm64 device, arm64 simulator)
- macOS (XCFramework: arm64 Apple Silicon)
- Windows (x64)
Check the Releases page for the latest precompiled binaries.
Each release includes zip packages with:
- Static library file (libv8_monolith.a / v8_monolith.lib)
- args.gn - Build configuration used for compilation
- args.full.txt - Complete GN arguments list with all default values and descriptions
| Platform | Artifact File | Architectures | Description |
|---|---|---|---|
| Android | libv8_monolith-android-arm64.zip |
arm64 | Static library + args.gn + args.full.txt |
| Android | libv8_monolith-android-arm.zip |
arm | Static library + args.gn + args.full.txt |
| Android | libv8_monolith-android-x64.zip |
x64 | Static library + args.gn + args.full.txt |
| Android | include-android.zip |
- | V8 header files |
| iOS | libv8_monolith-ios.zip |
arm64 (device + simulator) | XCFramework with headers + args.gn + args.full.txt |
| macOS | libv8_monolith-mac.zip |
arm64 (Apple Silicon) | XCFramework with headers + args.gn + args.full.txt |
| Windows | libv8_monolith-win-x64.zip |
x64 | Static library + args.gn + args.full.txt |
| Windows | include-win.zip |
- | V8 header files |
The repository contains GN build configuration files for each platform:
- args.ios.arm64.gn - Device configuration
- args.ios.arm64.simulator.gn - Simulator configuration
Note: The iOS build produces an XCFramework that supports both arm64 device and arm64 simulator platforms.
iOS XCFramework Structure:
libv8_monolith.xcframework/
├── ios-arm64/ # Device
│ └── libv8_monolith.framework/
│ ├── Headers/ # V8 header files
│ ├── libv8_monolith # Static library
│ └── Info.plist
└── ios-arm64-simulator/ # Simulator
└── libv8_monolith.framework/
├── Headers/ # V8 header files
├── libv8_monolith # Static library
└── Info.plist
Usage in Xcode:
- Drag
libv8_monolith.xcframeworkinto your Xcode project - Add to "Frameworks, Libraries, and Embedded Content"
- Import headers:
#include <libv8_monolith/v8.h> - Xcode automatically selects the correct variant (device/simulator)
Note: The macOS build produces an XCFramework for arm64 (Apple Silicon).
macOS XCFramework Structure:
libv8_monolith.xcframework/
└── macos-arm64/ # Apple Silicon
└── libv8_monolith.framework/
├── Headers/ # V8 header files
├── libv8_monolith # Static library
└── Info.plist
Usage in Xcode: Same as iOS, drag and drop into your project
- Info.plist.template - Template for XCFramework Info.plist (version is replaced during build)
- ✅ Automated builds via GitHub Actions
- ✅ Consistent configuration across platforms
- ✅ Pre-build scripts for platform-specific optimizations (builder.js)
- ✅ Full build argument traceability
- ✅ iOS WebAssembly support enabled
- Download the appropriate zip file for your platform from the Releases page
- Extract the static library file
- Link against the library in your project
- Include the V8 headers (included in the release)
- Refer to
args.gnandargs.full.txtto understand the build configuration
All builds are automated using GitHub Actions:
- Clean build environment for each platform
- Consistent depot_tools version
- Reproducible builds
- Automated release creation
- Windows Build Instructions
- Android Build Instructions
- iOS Build Instructions
- macOS Build Instructions
- macOS ARM64 Build
To update the V8 version or modify build configurations:
- Update
V8_VERSIONin .github/workflows/main.yml - Modify platform-specific
args.*.gnfiles as needed - Update builder.js for platform-specific build logic
- Create a new git tag to trigger the build workflow
This project is inspired by and references the work from just-js/v8.
This repository contains build configurations and automation scripts. V8 itself is licensed under the BSD license. See the V8 repository for details.