当前位置:编程学习 > wap >>

x86-4.0版本支持arm报错

自己编译的4.0版本,能够启机和上网了,但是运行arm时报错,
跟代码发现是
init_dvm_houdini函数中

h_handle = dlopen("libdvm_houdini.so", RTLD_LAZY);
这个返回0


错误信息
“Unable to open libdvm_houdini lib: Cannot load library: reloc_livrary[1289]:1249 cannot locate 'jniRegisterSystemMethods'”

求帮忙解决 --------------------编程问答-------------------- 可以nm看一下你的libdvm_houdini里面有没有这个报错的jni函数 --------------------编程问答--------------------
引用 1 楼 louiswangbing 的回复:
可以nm看一下你的libdvm_houdini里面有没有这个报错的jni函数

里面有对应的函数

主要是libdvm_houdini.so 这几个库都是从网上下的
放到网上下载的iso里面就正常了,但是放到自己make出来的iso中就有问题 --------------------编程问答--------------------
引用 1 楼 louiswangbing 的回复:
可以nm看一下你的libdvm_houdini里面有没有这个报错的jni函数


顺便问下 x86的 2.x 版本支持arm吗? --------------------编程问答--------------------
引用 3 楼 l417584711 的回复:
Quote: 引用 1 楼 louiswangbing 的回复:

可以nm看一下你的libdvm_houdini里面有没有这个报错的jni函数


顺便问下 x86的 2.x 版本支持arm吗?


以前的版本好像是不支持arm的。。。
现在的android-x86里面都是带arm-translator的,也许你可以试试下载源代码对应的ISO,把这几个库文件提出来放到自己编译的镜像里面 --------------------编程问答--------------------
引用 4 楼 louiswangbing 的回复:
Quote: 引用 3 楼 l417584711 的回复:

Quote: 引用 1 楼 louiswangbing 的回复:

可以nm看一下你的libdvm_houdini里面有没有这个报错的jni函数


顺便问下 x86的 2.x 版本支持arm吗?


以前的版本好像是不支持arm的。。。
现在的android-x86里面都是带arm-translator的,也许你可以试试下载源代码对应的ISO,把这几个库文件提出来放到自己编译的镜像里面


x86官方的iso里面也不带arm-translator
但是把网上找的那写so放进去就可以

通过源代码自己编译的iso,放进去同样的那些so就报错

Unable to open libdvm_houdini lib: Cannot load library: reloc_library[1289]:1249 cannot locate 'jniRegisterSystemMethods'”

网上查说跟gcc编译有关 可能是ld的问题,具体的不太懂了



--------------------编程问答--------------------
引用 5 楼 l417584711 的回复:
Quote: 引用 4 楼 louiswangbing 的回复:

Quote: 引用 3 楼 l417584711 的回复:

Quote: 引用 1 楼 louiswangbing 的回复:

可以nm看一下你的libdvm_houdini里面有没有这个报错的jni函数


顺便问下 x86的 2.x 版本支持arm吗?


以前的版本好像是不支持arm的。。。
现在的android-x86里面都是带arm-translator的,也许你可以试试下载源代码对应的ISO,把这几个库文件提出来放到自己编译的镜像里面


x86官方的iso里面也不带arm-translator
但是把网上找的那写so放进去就可以

通过源代码自己编译的iso,放进去同样的那些so就报错

Unable to open libdvm_houdini lib: Cannot load library: reloc_library[1289]:1249 cannot locate 'jniRegisterSystemMethods'”

网上查说跟gcc编译有关 可能是ld的问题,具体的不太懂了





现在的android-x86好像是带的吧。。。我看4.3的没看错的话是有arm-transloator的,至于gcc问题,如果运行环境与交叉编译连不能完全兼容也是有可能的 --------------------编程问答--------------------
引用 6 楼 louiswangbing 的回复:
Quote: 引用 5 楼 l417584711 的回复:

Quote: 引用 4 楼 louiswangbing 的回复:

Quote: 引用 3 楼 l417584711 的回复:

Quote: 引用 1 楼 louiswangbing 的回复:

可以nm看一下你的libdvm_houdini里面有没有这个报错的jni函数


顺便问下 x86的 2.x 版本支持arm吗?


以前的版本好像是不支持arm的。。。
现在的android-x86里面都是带arm-translator的,也许你可以试试下载源代码对应的ISO,把这几个库文件提出来放到自己编译的镜像里面


x86官方的iso里面也不带arm-translator
但是把网上找的那写so放进去就可以

通过源代码自己编译的iso,放进去同样的那些so就报错

Unable to open libdvm_houdini lib: Cannot load library: reloc_library[1289]:1249 cannot locate 'jniRegisterSystemMethods'”

网上查说跟gcc编译有关 可能是ld的问题,具体的不太懂了





现在的android-x86好像是带的吧。。。我看4.3的没看错的话是有arm-transloator的,至于gcc问题,如果运行环境与交叉编译连不能完全兼容也是有可能的



4.3的arm-translator在哪个目录?我下载dalvik目录,在vm的代码里面没看见去load libdvm_houini.so 的逻辑

--------------------编程问答-------------------- --------------------编程问答-------------------- 大牛,学习了 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 看看到底是什么原因。 --------------------编程问答-------------------- 一定要好好学习呀! --------------------编程问答-------------------- 不断的向大牛们学习 --------------------编程问答-------------------- 不错,你说的还好 --------------------编程问答-------------------- 貌似挺高深 捡分党路过 --------------------编程问答-------------------- 帮楼主顶一个   --------------------编程问答-------------------- --------------------编程问答-------------------- 帮楼主顶了。。 --------------------编程问答-------------------- 楼主大爱!顶顶顶顶! --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 我在VM10下用虚拟的x86-4.0 android花屏,oracle vmbox却不会,奇怪 --------------------编程问答--------------------
引用 22 楼 u012938487 的回复:
我在VM10下用虚拟的x86-4.0 android花屏,oracle vmbox却不会,奇怪

我也遇到过这问题,求解? --------------------编程问答-------------------- 个人目前没有解决方案
补充:移动开发 ,  英特尔架构的Android开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,