.so文件的平台相关性

本文介绍了在使用包含多个平台版本的.so文件时遇到的问题及解决方案。.so文件用于跨平台应用,但需根据不同设备架构放置在正确文件夹下才能正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.so文件的平台相关性

这个问题比较简单,但是由于当时自己并不清楚有这种区分导致自己花了不少时间进行测试,修改;徒花了很多时间做无用功,写出来给自己勉励。


在使用百度地图sdk的时候一共有两个库文件jar包和一个c++的.so文件

在我自己的一个demo工程中这样写没有问题,直接得到了我要的地图gps信息,然后我将这个demo的功能放到工程中的时候就出现了问题,而且浪费了我很长时间才得以解决


在这个工程中,使用.so文件有四个文件包,armeabi、armeabi-v7a、mips、x86;当然大家肯定是知道这几个文件的区别了;但是同上demo中的配置相同,却不能正常使用该.so文件——libocSDK4d.so,并且不报任何错误,原先以为是源程序的问题,测试过后发现是.so文件的路径问题;在demo中因为只给出了armeabi文件夹,并在该文件夹中给出了该.so文件,因此可以直接使用;而在工程中因为有代表四个不同平台的文件夹,这时候就必须得在四个文件夹中都放置该.so文件,或者在自己机型使用的平台的.so文件中,这样就可以正常使用.so文件了;这很类似于layout的适配;但是又有很大的不同,知道这个问题的所在,以后写的时候会更加注意这个问题了

正确的放置位置:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值