Tag: dalvik

compilin错误:字段必须具有常量:android 2.3.4源代码永远不支持’结构中的可变长度数组’扩展名

嗨我在android 2.3.4源代码中尝试make libdvm时出现以下错误, external/elfutils/libebl/eblobjnote.c:43:17: error: fields must have a constant size: ‘variable length array in structure’ extension will never be supported uint32_t version[descsz / 4 – 1]; 这是我的mac os x mountain lion上gcc 4.2报告的真正的c错误。 我猜有一些与gcc 4.2和android 2.3.4源代码不兼容。 我不得不改变一些事情来使编译达到这一点。 我不知道哪个gcc版本用于编译代码,但gcc 4.2经常在代码中发现错误。 任何人都可以告诉我如何处理这些错误,或者在最糟糕的情况下我应该使用哪个gcc版本以及如何降级到mac os x中的特定版本?

如何在我的共享库中包含使用libdvm.so的正确包含文件?

我想使用下面的API,它位于dalvik / vm / native / dalvik_system_DexFile.cpp: static void Dalvik_dalvik_system_DexFile_defineClass(const u4* args, JValue* pResult) static void Dalvik_dalvik_system_DexFile_openDexFile_bytearray(const u4* args, JValue* pResult) 但我不知道如何在libdvm.so中包含使用上述两个API的正确包含文件。 我试图在android项目中包含整个头文件,但它失败了这个编译错误消息:“参数列表太长”。 有人知道在libdvm.so中使用上面两个API需要做些什么吗? 谢谢。 – 添加 – 在dalvik / vm / native / dalvik_system_DexFile.cpp中,还有一些其他代码允许其他人使用静态API。 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 }, […]