1.JniInvocation::Init()
--dlopen(libdvm.so)
--FindSymbol(JNI_CreateJavaVM)
(要调用so库里的函数,需要首先dlopen这个so,然后查找到要调用的函数)
(安卓dalvik虚拟机源码是编译成libdvm.so存在于系统中的)
2.JNI调用
JNI调用原理主要需要解决的是传参和结果返回,参数在寄存器或者栈里的存放顺序和字节大小,
1.JniInvocation::Init()
--dlopen(libdvm.so)
--FindSymbol(JNI_CreateJavaVM)
(要调用so库里的函数,需要首先dlopen这个so,然后查找到要调用的函数)
(安卓dalvik虚拟机源码是编译成libdvm.so存在于系统中的)
2.JNI调用
JNI调用原理主要需要解决的是传参和结果返回,参数在寄存器或者栈里的存放顺序和字节大小,