compile ‘org.apache.mina:mina-transport-serial:2.0.16’ 的引入问题
在android studio 中使用串口 免不了要使用此包
compile ‘org.apache.mina:mina-transport-serial:2.0.16’
但是使用此包会产生 一些问题:
它在不运行的编译下 不会产生任何问题,但是你只要一开始运行程序就会报如下错误
Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE
File1: C:\Users\Administrator\.gradle\caches\modules-2\files-2.1\org.apache.mina\mina-integration-beans\2.0.16\47446b0070acf6f82fe99366a1424adf4f9b2d35\mina-integration-beans-2.0.16.jar
File2: C:\Users\Administrator\.gradle\caches\modules-2\files-2.1\org.apache.mina\mina-transport-serial\2.0.16\ee5b35d62df6f488ef3b3032651fae34bdd7bb62\mina-transport-serial-2.0.16.jar
File3: C:\Users\Administrator\.gradle\caches\modules-2\files-2.1\org.apache.mina\mina-core\2.0.16\f720f17643eaa7b0fec07c1d7f6272972c02bba4\mina-core-2.0.16.jar
现在具体我也不知道是什么问题。其解决办法是
在 build.gradle 文件中 android 内添加:
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
}
若还不行就在添加
defaultConfig {
multiDexEnabled true
}
这样基本就能解决这个问题了