首页 > 编程知识 正文

verification failed for device,your device has failed

时间:2023-05-06 09:58:08 阅读:170010 作者:4688

failedtodlsymmake _ device : undefined symbol : make _ device最近在开发中遇到了一些错误。 我烦恼了很久。 虽然自己做饭很好,但是觉得可以积累,所以有可以在以后遇到同样类型的问题,解决问题的构想。 问题大致如下。 可以在android的恢复系统下进行基础的测试demo。 但是,这个最新的demo是c和c语言共同开发的。 一些函数(如librecovery_ui.so )需要依赖于动态库,但其中有一个名为librecovery_ui.recovery.so的特殊库。 当时用find命令查找,可以找到这个库的生成位置,但是用grep查找这个动态库的生成位置时,怎么查也找不到,只找到了调用的地方,一度怀疑自己有没有搞错,最后总系统但是,最后不管那么多,总之让它崩溃了,最终在out目录下找到了生成那个库的地方。 原来他是自动生成的MK文件,里面简洁地包含了很多依赖于库的脚本,最终找到了那个so的生成位置。

然后,遇到了主题问题。 找不到ffdfk按照正确的android.mk脚本文件编译的so库在使用dlopen调用时定义的库。 我担心函数有问题,所以自己重写了测试调用的函数。 即使这样也不行,显示的也是failedtodlsymfn : undef ification。然后我在网上查了一下,大多数人都说需要添加extern 'C '转函数,最后在网上最后,询问了同事,得到了问题的答案。 它使用linux的nm命令查找动态库或静态库中包含可调用的函数,最后发现板上的动态库中没有我想调用的make_device函数,用find命令最后找到了应该在别的库中调用的函数体,最后将别的. so库交给了板上并成功了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。