Android JNI/C。调用dalvik本机函数dvm_dalvik_system_DexFile[]的语法是什么?
基于这一原始岗位 我需要调用文件dalvik/vm/native/dalvik_system_DexFile.cpp中的结构dvm_dalvik_system_DexFile[]中定义的本机“openDexFile”函数。实现在libdvm.so库中Android JNI/C。调用dalvik本机函数dvm_dalvik_system_DexFile[]的语法是什么?,android,java-native-interface,native,Android,Java Native Interface,Native,基于这一原始岗位 我需要调用文件dalvik/vm/native/dalvik_system_DexFile.cpp中的结构dvm_dalvik_system_DexFile[]中定义的本机“openDexFile”函数。实现在libdvm.so库中 const DalvikNativeMethod dvm_dalvik_system_DexFile[] = { { "openDexFile", "(Ljava/lang/String;Ljava/lang/String;I)I", Dalvi
const DalvikNativeMethod dvm_dalvik_system_DexFile[] =
{
{ "openDexFile", "(Ljava/lang/String;Ljava/lang/String;I)I", Dalvik_dalvik_system_DexFile_openDexFile },
{ "openDexFile", "([B)I", Dalvik_dalvik_system_DexFile_openDexFile_bytearray },
{ "closeDexFile", "(I)V", Dalvik_dalvik_system_DexFile_closeDexFile },
{ "defineClass", "Ljava/lang/String;Ljava/lang/ClassLoader;I)Ljava/lang/Class;", Dalvik_dalvik_system_DexFile_defineClass },
{ "getClassNameList", "(I)[Ljava/lang/String;", Dalvik_dalvik_system_DexFile_getClassNameList },
{ "isDexOptNeeded", "(Ljava/lang/String;)Z", Dalvik_dalvik_system_DexFile_isDexOptNeeded },
{ NULL, NULL, NULL },
};`
我能在这篇文章的附录“A”中找到类似的东西,但它无法为我编译。我无法找到JNI定义(类型),以供编写者引用“u4”、“ArrayObject”或上文定义的非常重要的“dvm_dalvik_system_DexFile”
从JNI调用这些本机方法的格式是什么?我在google AOSP代码树中找到了我需要的。包括这些文件(带有一些小的tweek)使我的代码变得复杂
#include "DexProto.h"
#include "Object.h"
#include "Native.h"