0

I'm compiling dalvik on Android 4.1 with both host and target set to x86. The make command is:

make dalvikvm core ext framework android.policy services

However, there are multiple compiled binaries:

out/host/linux-x86/bin/dalvikvm
out/host/linux-x86/bin/dalvik
out/target/product/generic_x86/system/bin/dalvikvm
out/target/product/generic_x86/symbols/system/bin/dalvikvm

But the target versions don't work. When run, they show:

bash: ./dalvikvm: No such file or directory

This error is so strange that, I mean, the file is just there.

Could anyone please tell me which one is the compiled result? I mean, if I make some modification to dalvik source, which one will contain the modified result? Thank you.

4

1 回答 1

0

这几乎可以肯定是一个联系问题。主机版本与普通主机 libc 相关联,但目标版本与设备上 /system/lib 中的 android libc 相关联,您的主机 ld 对此一无所知。

您可以尝试以下方法:

LD_LIBRARY_PATH=<android_root>/out/target/product/generic_x86/system/lib out/target/product/generic_x86/symbols/system/bin/dalvikvm

虽然我不完全确定这是否可行

于 2012-10-09T19:35:53.473 回答