Android 引用三方库导致 so 库冲突的解决办法
字节流动
共 1166字,需浏览 3分钟
·
2022-05-18 18:49
Android开发之引用三方库导致SO库冲突的解决办法
从这个图片可以看出 匹配到了多个 libc++_shared.so
packagingOptions{
pickFirst 'lib/armeabi/libc++_shared.so'
pickFirst 'lib/armeabi-v7a/libc++_shared.so'
pickFirst 'lib/arm64-v8a/libc++_shared.so'
pickFirst 'lib/x86/libc++_shared.so'
pickFirst 'lib/x86_64/libc++_shared.so'
}
packagingOptions的用法使用方法packagingOptions常见的设置项有
exclude、
pickFirst、
doNotStrip、
merge、
exclude
过滤掉某些文件或者目录不添加到APK中,作用于APK,不能过滤aar和jar中的内容。
packagingOptions {
exclude 'META-INF/**'
exclude 'lib/arm64-v8a/libmediaplayer.so'
}
pickFirst
匹配到多个相同文件,只提取第一个,作用于APK,不能过滤aar和jar中的文件。
packagingOptions {
pickFirst "lib/armeabi-v7a/libaaa.so"
pickFirst "lib/armeabi-v7a/libbbb.so"
}
doNotStrip
可以设置某些动态库不被优化压缩。
packagingOptions{
doNotStrip "*/armeabi/*.so"
doNotStrip "*/armeabi-v7a/*.so"
}
merge
将匹配的文件都添加到APK中,和pickFirst有些相反,会合并所有文件。
packagingOptions {
merge '**/LICENSE.txt'
merge '**/NOTICE.txt'
}
原文链接: https://www.jianshu.com/p/4987566b7a9e
推荐阅读:
评论
RxMarkdownmarkdown 语法的 Android 库
RxMarkdown 是一个运用 RxJava API 在 android.widget.TextV
RxMarkdownmarkdown 语法的 Android 库
0
RxMarkdownmarkdown 语法的 Android 库
RxMarkdown是一个运用RxJavaAPI在android.widget.TextView或android.widget.EditText中编辑和(实时)预览基本markdown语法的Andro
RxMarkdownmarkdown 语法的 Android 库
0
CocoaPods对三方库的管理探究
CocoaPods是iOS开发中经常被用到的第三方库管理工具,我们有必要深入了解一下它对项目产生了什么影响,以及它是如何管理这些库的。使用pod安装三方库我们新建一个不带测试模块的名为FFDemo的Swift项目,它的目录结构...
iOS成长之路
0
scaloidAndroid 开发库
scaloid是一个Android的开发库。使用Scala让代码更加简洁,清晰。Forexample,thecodeblockshownbelow:val button = new Button(co
scaloidAndroid 开发库
0
robospiceRepo 开源 Android 库
robospice 是 Repo 的开源 Android 库,能够让编写异步网络请求变得非常简单。它
robospiceRepo 开源 Android 库
0
robospiceRepo 开源 Android 库
robospice是Repo的开源Android库,能够让编写异步网络请求变得非常简单。它专门用于网络请求,通过使用SpringAndroid或者GoogleHttpClient等扩展模块可支持RES
robospiceRepo 开源 Android 库
0