Android jfxmobile插件apk生成失败,无法对单个jar进行双重访问

Android jfxmobile插件apk生成失败,无法对单个jar进行双重访问,android,javafxports,Android,Javafxports,我的javafxport android项目(gradle项目)由于一些奇怪的重复文件异常而失败。发生此异常的原因对我来说很清楚:我的项目所依赖的每个库(我自己开发的库或像jfoenix.jar这样的第三方库)都会被jfxmobile插件访问两次,因为异常表明在两个不同的jar文件中发现了一个文件,比如X,它们实际上是同一个工件 以下是更详细的说明: jfxmobile-plugin version : org.javafxports:jfxmobile-plugin:1.1.0 build.

我的javafxport android项目(gradle项目)由于一些奇怪的重复文件异常而失败。发生此异常的原因对我来说很清楚:我的项目所依赖的每个库(我自己开发的库或像jfoenix.jar这样的第三方库)都会被jfxmobile插件访问两次,因为异常表明在两个不同的jar文件中发现了一个文件,比如X,它们实际上是同一个工件

以下是更详细的说明:

jfxmobile-plugin version : org.javafxports:jfxmobile-plugin:1.1.0
build.gradle中的依赖关系示例:

dependencies {
    androidCompile 'com.jfoenix:jfoenix:1.0.0'
}
使用以下命令创建api:

gradle androidInstall
结果:

FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':mylib-android-demo-dist:apkDebug'.
> com.android.builder.packaging.DuplicateFileException:
Duplicate files copied in APK resources/font/roboto/Apache License.txt
File 1: C:\Users\Amin\.m2\repository\com\jfoenix\jfoenix\1.0.0\jfoenix-1.0.0.jar
File 2: C:\Users\Amin\.m2\repository\com\jfoenix\jfoenix\1.0.0\jfoenix-1.0.0.jar
有人能猜出这里发生了什么吗

下面是real build.gradle文件:

buildscript {
    repositories {
        mavenLocal()
        mavenCentral()
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.1.0'
    }
}

apply plugin: 'org.javafxports.jfxmobile'

mainClassName = 'com.mycompany.MainClass'

dependencies {
    compile ('com.mycompany:mylib-android-demo-predist:1.1-SNAPSHOT')
    {
        exclude module: 'stax-api'
    }
    androidCompile 'com.github.tony19:logback-android-core:1.1.1-5'
    androidCompile('com.github.tony19:logback-android-classic:1.1.1-5') {
        exclude group: 'com.google.android', module: 'android'
    }
    androidCompile 'com.jfoenix:jfoenix:1.0.0'
}

jfxmobile {
    android {
        manifest = 'src/android/AndroidManifest.xml'
    }
}
注意,我已经使用maven依赖插件将所有其他依赖项集成到一个jar文件中

非常重要: jfxrt.jar文件也存在同样的问题;有一个文件“META-INF/INDEX.LIST”,由grandle AndroidStall任务以重复文件的形式打印出来。
这个jfxrt.jar文件不是我自己的任何库声明的依赖项,而是一个android的javafx运行时,它来自gradle插件(jfxmobile插件)本身的javafxports项目。

您所面临的问题是gradle/android的一个非常常见的问题。问题是,具有相同名称的(许可证)文件已从另一个JAR文件复制到目标位置。要解决此问题,请参阅
JavaFXPorts
上的Gradle
packagingOptions
,或查看
Gradle
。(我不希望完全排除许可证,而是选择遇到的第一个(
pickFirst


我目前正在开发一个
JavaFXPorts
应用程序,也需要这样做…

你能发布依赖项的完整列表吗?事实上,我使用maven dependency插件的目标“unpack”将所有其他依赖项解包并集成到一个jar文件中。据我所知,jfoenix.jar的类也是re和这可能是上述重复冲突的原因。但是,我不明白为什么文件1和文件2都指向同一个jar文件。还有另一个可传递的依赖项由jfxmobile插件自动添加。这个jar文件名为jfxrt.jar(javafx运行时)没有jfoenix.jar作为依赖项,我在jfxrt.jar中遇到了同样的问题,它以与jfoenix.jar完全相同的方式标记为重复文件。你能发布你的build.gradle文件吗?否则就无法说出会发生什么是的,我百分之百肯定。jfxmobile插件依赖于旧版本的android gradle工具(准确地说是1.1.3)。下面是显示错误的具体代码: