The Wayback Machine - https://web.archive.org/web/20200921054553/https://github.com/devikkim/ComplieV8ForAndroid
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 

README.md

ComplieV8ForAndroid

This repository is guide for v8 using android

Set dependencies (on Linux:ubuntu)

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

export PATH=`pwd`/depot_tools:"$PATH"
  1. make sure you have these packages installed (Linux only)
sudo apt-get install curl libc6-dev-i386 g++-multilib

Compile v8 on linux (ubuntu)

  1. install v8 (checkout version)
fetch v8
cd v8
git pull
git checkout <v8_version>
  1. download android tools
echo "target_os = ['android']" >> ../.gclient && gclient sync
  1. check v8gen.py list
tools/dev/v8gen.py list

example :

arm.debug
arm.optdebug
arm.release
arm64.debug
arm64.optdebug
arm64.release
ia32.debug
ia32.optdebug
ia32.release
x64.debug
x64.optdebug
x64.release
  1. generate compilation target
tools/dev/v8gen.py gen <one_of_list>
  1. change out.gn/<one_of_list>/args.gn
vi out.gn/<one_of_list>/args.gn

example :

args.gn file

v8_use_snapshot = true
v8_use_external_startup_data = false
is_official_build = true
is_debug = false
symbol_level = 0
target_cpu = "arm"
v8_target_cpu = "arm"
v8_enable_i18n_support = false
target_os = "android"
v8_android_log_stdout = true
  1. compile target
ninja -C out.gn/<one_of_list> -j 4
  1. create lib files
cd out.gn/<one_of_list>/obj
mkdir libs
cd libs
ar -rcsD libv8_base.a ../v8_base/*.o
ar -rcsD libv8_base.a ../v8_libbase/*.o
ar -rcsD libv8_base.a ../v8_libsampler/*.o
ar -rcsD libv8_base.a ../v8_libplatform/*.o 
ar -rcsD libv8_base.a ../src/inspector/inspector/*.o
ar -rcsD libv8_snapshot.a ../v8_snapshot/*.o 
ar -rcsD libv8_nosnapshot.a ../v8_nosnapshot/*.o
ar -rcsD libv8_external_snapshot.a ../v8_external_snapshot/*.o

Maybe not all of the above files are created. But it does not matter. Only the libv8_base.a and libv8_nosnapshot.a files need to be created.

  1. source headers, for inspector compilation. copy v8 compliation header files
mkdir -p src/base/platform
cp -R ../../../../src/*.h ./src
cp -R ../../../../src/base/*.h ./src/base
cp -R ../../../../src/base/platform/*.h ./src/base/platform
cp -R ../../../../include ./
  1. Make sure the file has been created in path/to/v8/out.gn/<one_of_list>/obj/libs/

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.