Hi,
I'm trying to use v8 via NDK in my Android Application.
I checked out 5.8.283.38 from v8 and did:
1. tools/dev/v8gen.py x64.release
3. generate various v8 libraries by running:
ar -rcsD libv8_base.a ../v8_base/*.o
ar -rcsD libv8_libbase.a ../v8_libbase/*.o
ar -rcsD libv8_libsampler.a ../v8_libsampler/*.o
ar -rcsD libv8_libplatform.a ../v8_libplatform/*.o
ar -rcsD libv8_nosnapshot.a ../v8_nosnapshot/*.o
ar -rcsD libv8_snapshot.a ../v8_snapshot/*.o
ar -rcsD libv8_external_snapshot.a ../v8_external_snapshot/*.o
I successfully linked libv8*.a to my native so in my app, however, when launching my App inside emulator, I got the following error:
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_ZNSs4_Rep20_S_empty_rep_storageE" referenced by "/data/app/[my native.so]"
Here are settings in my .gclient:
solutions = [
{
"managed": False,
"name": "v8",
"deps_file": "DEPS",
"custom_deps": {},
},
]
target_os = [ 'android' ]
I also did clean rebuilt by adding "v8_static_library=true" to x64.release/
args.gn which generates libv8*.a on its own, but I still get the same error.
Any ideas on how to fix this?
btw
I didn't build them but used earlier version of libv8*.a (5.5.372.32), my project builds and launches fine. Unfortunately I couldn't find out how they were built and need to use newer version so that I can use the v8 inspector.
Thanks
Henry