Для ясности предположим, что у вас есть libziron.so , в котором есть глобальный объект с конструктором, которому требуется JavaVM* vm
.
Создайте другую библиотеку, lib1.so , которая будет иметь только
JavaVM* g_vm;
jint JNI_OnLoad(JavaVM* vm, void* /*reserved*/)
{
g_vm = vm;
return JNI_VERSION_1_4;
}
В Java вы загружаете lib1.so и после этого libziron.so . В libziron.so теперь вы можете получить доступ к extern g_vm . Обратите внимание, что хотя libziron.so зависит от lib1.so , их необходимо загружать вручную, в правильном порядке.