I have spent many weeks trying to figure how to do this correctly, but I had no luck.
I have been trying to compile google's javascript v8 engine for android for multiple CPU architectures, I need armeabi, armeabi-v7a and x86.
After a lot of search I found those useful posts and somewhat managed to compile the .a libs, but they give me error of multiple undefined references in the eclipse console:
jni/armeabi-v7a/libv8_base.a(i18n.o): in function icu_46::UnicodeString::doCompare(int, int, icu_46::UnicodeString const&, int, int) const:i18n.cc(.text._ZNK6icu_4613UnicodeString9doCompareEiiRKS0_ii+0x78): error: undefined reference to 'icu_46::UnicodeString::doCompare(int, int, unsigned short const*, int, int) const' a C/C++ Problem
I get a bunch of those when I try to compile anything simple that uses v8's API. I tried linking with all the static libraries GYP generated, but no luck.
I wouldn't mind downloading precompiled libs, and in fact I found two libv8_base.a and libv8_nosnapshot.a that work as expected, but those were only for armeabi-v7a and crash on old Android phones, that's why I tried compiling from source. Precompiled binaries for other platforms are nowhere to be found... By now, I'm out of ideas. Can anyone give me advice?