Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android JNI/C。调用dalvik本机函数dvm_dalvik_system_DexFile[]的语法是什么?_Android_Java Native Interface_Native - Fatal编程技术网

Android JNI/C。调用dalvik本机函数dvm_dalvik_system_DexFile[]的语法是什么?

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

基于这一原始岗位

我需要调用文件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", 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"