More than one file was found with OS independent path 'lib/armeabi/libijkbjffmpeg.so'

场景

Android Studio运行项目时,会看到以下错误

More than one file was found with OS independent path 'lib/armeabi/libijkbjffmpeg.so'

原因

多个依赖库中在lib目录包含了相同的so文件.

解决方法

在主工程的build.gradle中,android{}中创建packagingOptions.

apply plugin: 'com.android.application'
android {
    ..............
	packagingOptions {
        pickFirst 'lib/armeabi-v7a/libijkbjffmpeg.so'
        pickFirst 'lib/arm64-v8a/libijkbjffmpeg.so'
    }
}

提示哪个so文件重复了,就加一个pickFirst 后面的引号中加上报错的文件路径.

"/lib/armeabi-v7a/libserial_port.so: has text relocations"(意为/lib/armeabi-v7a/libserial_port.so存在文本重定位)是一个关于Android应用程序动态链接库的警告信息。文本重定位是指链接器(linker)在加载动态链接库时,需要对部分代码或数据进行重定位操作。 这个警告通常出现在Android设备的API级别较高的版本中。在安卓5.0及以上的版本,为了加强应用程序的安全性,系统开始要求动态链接库中的代码和数据必须以绝对地址的形式进行访问,而不再允许使用相对地址。 而/lib/armeabi-v7a/libserial_port.so是一个具体的动态链接库,它包含的代码或数据中可能使用了相对地址,导致出现了文本重定位的情况。尽管警告信息会出现,但是在大多数情况下,应用程序仍然可以正常运行。 要解决这个警告信息,有两个常见的方法。首先,如果可能的话,可以联系该链接库的开发者,请求他们提供一个更新版本的库文件,该版本已经修复了文本重定位的问题。其次,开发者可以适应新的安卓版本,对/ lib/armeabi-v7a/libserial_port.so进行重新编译,并修正其中存在的文本重定位问题。 总的来说,"/lib/armeabi-v7a/libserial_port.so: has text relocations"是一个关于动态链接库的警告信息,表明该库在加载时需要进行重定位操作。解决此问题的方法包括联系开发者获取更新的库文件或对库文件进行重新编译。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值