Code for loading shared libraries and calling JNI_OnLoad.

This causes a bit of log spam as we call unimplemented JNI functions,
but fixing those is my first job tomorrow. The exciting thing here is
that we're now loading libcore's classes and libcore's JNI.

I've changed ParsedOptions' std::vector of verbose options over to a
std::set for the convenience of callers, and defaulted -verbose:jni to
on. (This is not the cause of the log spam.)

The only nasty bit here is that icu4c doesn't like being initialized
more than 10 times, because it has a 10-element fixed-size array. The
u_cleanup function is not publicly accessible, so we have to fiddle
around with dlsym(3) twice in one patch...

Change-Id: I9f6b5d74621eb2e88d04a89f00335067fda4ccbe
10 files changed
tree: c1321a3c1e0fe700fa024294fa940d6d02c98d39
  1. Android.mk
  2. build/
  3. src/
  4. tools/