More than one file was found with OS independent path 'lib/armeabi-v7a/libgnustl_shared.so'
More than one file was found with OS independent path 'xxx/xxx'
这个错误是在路径中出现了重复依赖。
解决办法是配置打包选项, 在 android 节点下配置
packagingOptions {
pickFirst 'lib/arm64-v8a/libgnustl_shared.so'
pickFirst 'lib/armeabi-v7a/libgnustl_shared.so'
}
可以配置三个选项
- pickFirst 使用第一个
- merge 合并
- exclude 排除
三种模式
有三种模式可供选择,对应上面的三个选项
第一选择
这个模式匹配到的路径(或文件)将会被选中并打包进 APK。如果匹配到了多个相同的路径(或文件)只会使用第一个。
合并
这个模式匹配到的路径(或文件)会被合并打包进 APK。当合并两个文件时,如果第一个文件结尾没有换行,会追加一个换行符到末尾,然后是后面的文件,不管是什么文件类型都是如此。
排除
这个模式匹配到的路径(或文件)将不会被打包进 APK。
这三种模式采用的算法如下:
第一选择模式
如果第一选择模式匹配到的路径(或文件)没有在 APK 中,那么这个路径(或文件)将会被打包进 APK 。
如果第一选择模式匹配到的路径(或文件)已经在 APK 中,那么这个路径(或文件)将不会被打包进 APK 。
合并模式
如果合并模式匹配到的路径(或文件)没有在 APK 中,那么这个路径(或文件)将会被打包进 APK 。
如果合并模式匹配到的路径(或文件)已经在 APK 中,那么将会合并路径(或文件)到已经存在 APK 中的那个路径(或文件)。
排除模式
排除模式匹配到的路径(或文件)将不会被打包进 APK 中。
如果以上模式都没有匹配到的路径(或文件)并且这个路径(或文件)没有在 APK 中,那么将会被打包进 APK 。
如果以上模式都没有匹配到的路径(或文件)并且这个路径(或文件)已经在 APK 中,那么将会构建失败并且发出 重复路径(或文件)的错误。
More than one file was found with OS independent path 'lib/armeabi-v7a/libgnustl_shared.so'的更多相关文章
- More than one file was found with OS independent path 錯誤
More than one file was found with OS independent path 'lib/armeabi/libmrpoid.so',. 翻譯過來就是:在操作系統的獨立目錄 ...
- More than one file was found with OS independent path 'META-INF/LICENSE' | Error:Could not read \build\intermediates\typedefs.txt (系统找不到指定的文件。)
FAQ1: Error:Could not read E:\new\PlatformLibrary\CommonLibrary\build\intermediates\typedefs.txt: E: ...
- android异常 More than one file was found with OS independent path 'META-INF/XXX'
android 异常总结:一个文件在jar包中出现多次. Error:Execution failed for task ':app:transformResourcesWithMergeJavaRe ...
- python2.7入门---file(文件)&OS 文件&目录方法
首先file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数: 序号 方法及描述 1 file.close() 关闭文件.关闭后文件不能再进行读写操作. 2 file.f ...
- A MacFUSE-Based Process File System for Mac OS X
referer: http://osxbook.com/book/bonus/chapter11/procfs/ Processes as Files The process file system ...
- file的这几个取得path的方法各有不同,下边说说详细的区别
html, body { font-size: 15px; } body { font-family: Helvetica, "Hiragino Sans GB", 微软雅黑, & ...
- open_basedir restriction in effect. File() is not within the allowed path(s)
目前发现eaccelerator安装之后如果php.ini中设置open_basedir将导致open_basedir的一些报错(open_basedir restriction in effect. ...
- Python读写文件的路径,关于os.chdir(path)位置对程序的影响,
关于os.chdir(path)位置对程序的影响,import os import time#直接把path放到open()里面 def fu0(): star = time.time() for i ...
- 现网环境业务不影响,但是tomcat启动一直有error日志,ERROR org.apache.catalina.startup.ContextConfig- Unable to process Jar entry [module-info.class] from Jar [jar:file:/home/iufs/apache-tomcat/webapps/iufs/WEB-INF/lib/asm
完整的错误日志信息: 2019-03-19 15:30:42,021 [main] INFO org.apache.catalina.core.StandardEngine- Starting Ser ...
随机推荐
- 老男孩 python 自学 打印05 dict 复习总结
dict 语法 {key : value} key 必须是可hash的 可哈希的目前有int . str . tuple .bool value 是没有任何限制的 2. 字典的相关操作 增 ...
- scikit-learn网格搜索来进行高效的参数调优
内容概要¶ 如何使用K折交叉验证来搜索最优调节参数 如何让搜索参数的流程更加高效 如何一次性的搜索多个调节参数 在进行真正的预测之前,如何对调节参数进行处理 如何削减该过程的计算代价 1. K折交叉验 ...
- 三分钟带你入门 redis 高可用架构之哨兵
什么是哨兵? 哨兵(Sentinel)是 redis 的高可用性解决方案,前面我们讲的主从复制它是高可用的基础,需要人工介入才能完成故障转移,哨兵可以解决这个问题,在主从复制情况下,当主节点发生故障时 ...
- 堆模板(STL版)
题目描述 如题,初始小根堆为空,我们需要支持以下3种操作: 操作1: 1 x 表示将x插入到堆中 操作2: 2 输出该小根堆内的最小数 操作3: 3 删除该小根堆内的最小数 输入输出格式 输入格式: ...
- 简单实现TodoList
Todolist实例 储备知识js的splice的用法 实例逻辑 1 在data里面做一个存一条条留言的列表,往里面添加或者删除留言内容. 2 做一个变量和input双向绑定,然后做一个点击事件把这个 ...
- WPF 使用Win32API 让控件置于WebBrowser上方
WPF中Webbrowser控件使用HwndHost所以webbrowser会在所有控件的前方.所以webbrowser会覆盖所有同级的控件. 现在通过使用Win32API 可以避免这个情况. 最主要 ...
- 十一次作业——LL(1)文法的判断,递归下降分析程序
1. 文法 G(S): (1)S -> AB (2)A ->Da|ε (3)B -> cC (4)C -> aADC |ε (5)D -> b|ε 验证文法 G(S)是不 ...
- luogu P3807 【模板】卢卡斯定理
求 C(n,n+m)%p C(m,n)%p=C(m%p,n%p)*C(m/p,n/p) #include<cstdio> #include<cstring> #include& ...
- EventSource 实时传输数据
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jQuery操作元素对象的样式
在jQuery中操作元素为了加快速度,或者书写速度,可以用到json的格式: <!DOCTYPE html> <html> <head> <meta char ...