Skip to content

Contains the Google's V8 build used in android runtime.

Notifications You must be signed in to change notification settings

NativeScript/android-v8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

android-v8

Contains the Google's V8 build used in android runtime.

How to build (linux)

  • get depot tools more :
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

export PATH=`pwd`/depot_tools:"$PATH"
  • Make sure you have these packages installed (Linux only)
sudo apt-get install curl libc6-dev-i386 g++-multilib
  • Download and extract Android NDK r22b

Linux:

curl -O https://dl.google.com/android/repository/android-ndk-r22b-linux-x86_64.zip
unzip android-ndk-r22b-linux-x86_64.zip -d ndkr22b
  • Export ANDROID_NDK_HOME environment variable
export ANDROID_NDK_HOME=`pwd`/ndkr22b/android-ndk-r22b
  • fetch v8 (this will create a v8 repo folder and add a .gclient file)

  • Add target_os to the .gclient file:

This will ensure that the required build dependencies are fetched by depot_tools

solutions = [
  {
    "url": "https://chromium.googlesource.com/v8/v8.git",
    "managed": False,
    "name": "v8",
    "deps_file": "DEPS",
    "custom_deps": {},
  },
]
target_os = ['android']
  • checkout tag 9.7.106.13
cd v8
git checkout 9.7.106.13
  • Run sync
gclient sync
  • Create symlinks
cp third_party/android_ndk/BUILD.gn $ANDROID_NDK_HOME
rm -rf third_party/android_tools third_party/android_ndk
mkdir third_party/android_tools
ln -s $ANDROID_NDK_HOME third_party/android_tools/ndk
ln -s $ANDROID_NDK_HOME third_party/android_ndk
  • Apply patch running the following command
cd ..
./apply_patch.sh
  • run the following command in the root folder command
cd ..
./build.sh

you can run: ../build_v8 debug if you want to build v8 in debug, by default it's built in release.

Outputs

The output folder is called dist and it's created at v8 root level.

HOW TO CREATE A NEW PATCH file

git diff --cached > patch.diff

What to do next