android - Gradle中添加apache ftpserver依赖后无法编译通过
阿神
阿神 2017-04-17 11:38:23
[Android讨论组]

环境为Android Studio(即使用Gradle自动构建),添加依赖ftpserver:

compile 'com.android.support:appcompat-v7:19.+'
compile('org.apache.ftpserver:ftpserver-core:1.0.6') {
//  exclude module: 'ftplet-api'
    exclude module: 'slf4j-api'
}
compile 'org.slf4j:slf4j-android:1.7.7'

此时编译不通过(在:app:dexDebug那一步出错):

com.android.dex.DexException: Multiple dex files define Lorg/apache/ftpserver/ftplet/Authentication;

根据提示来看,是因为ftpserver-core-1.0.6.jarftplet-api-1.0.6.jar均包含了org.apache.ftpserver.ftplet.Authentication类,造成构建失败。
有什么比较好的解决方案么?


加上exclude module: 'ftplet-api'当然也可以解决问题,但是觉得不太优雅。
另外,1.0.4是没有问题的,1.0.51.0.6有此问题。


tips:
要在build.gradle中添加如下语句,以避免文件冲突:

packagingOptions {
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/NOTICE'
}
阿神
阿神

闭关修行中......

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号