Put the native JNI call wrappers both in libarttest and libarttest_external.

Currently hiddenapi looks at the topmost Java frame to determine the
domain of the caller, so the location of the .so file containing the
native JNI call wrappers doesn't matter.

However an upcoming CL will change that, so this CL puts the wrappers
physically into both libarttest(d).so and libarttest(d)_external.so, to
be able to test two hiddenapi domains. That has no effect yet.

hiddenapi.cc is split up into core.cc and jni_api_callers.h, with the
only change being that the JNI call wrappers are registered explicitly
through two new native methods register(App|CorePlatform)JniApiCallers.

Test: art/test/testrunner/testrunner.py --target --32 --optimizing 674-hiddenapi
Bug: 403305904
Flag: TEST_ONLY
Change-Id: I7b9bd755367d24d69ea1048dae557f66332066c3
7 files changed