Ich versuche, Apache POI auf Android zu verwenden, um das zu tun, habe ich ein Großprojekt auf Eclipse erstellt, aber wenn ich die Task AndroidInstall Gradle Task ausführen, bekomme ich einen Fehler während der Dex-Schritt. (Run Aufgabe arbeitet)Fehler beim Dex mit einem Projekt mit Javafx und Apache POI
hier den Fehler:
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/EventFilter;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/FactoryConfigurationError;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/FactoryFinder;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/FactoryFinder$1;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/FactoryFinder$ClassLoaderFinder;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/FactoryFinder$ClassLoaderFinderConcrete;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/Location;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/StreamFilter;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Ljavax/xml/stream/XMLEventFactory;
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: Translation has been interrupted
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:613)
at com.android.dx.command.dexer.Main.runMultiDex(Main.java:366)
at com.android.dx.command.dexer.Main.run(Main.java:275)
at com.android.dx.command.dexer.Main.main(Main.java:245)
at com.android.dx.command.Main.main(Main.java:106)
Caused by: java.lang.InterruptedException: Too many errors
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:605)
... 4 more
16:41:25.082 [ERROR] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:java] Java Result: 2
16:41:25.083 [DEBUG] [org.gradle.api.internal.project.ant.AntLoggingAdapter] Setting project property: dexResult -> 2
16:41:25.084 [DEBUG] [org.gradle.api.Project] Dex result value = 2
16:41:25.093 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':dex'
16:41:25.094 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :dex FAILED
16:41:25.095 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :dex (Thread[Daemon worker Thread 2,5,main]) completed. Took 2 mins 19.455 secs.
16:41:25.095 [DEBUG] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] Task worker [Thread[Daemon worker Thread 2,5,main]] finished, busy: 21 mins 29.722 secs, idle: 0.053 secs
16:41:25.103 [ERROR] [org.gradle.BuildExceptionReporter]
16:41:25.108 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
16:41:25.109 [ERROR] [org.gradle.BuildExceptionReporter]
16:41:25.109 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
16:41:25.109 [ERROR] [org.gradle.BuildExceptionReporter] Execution failed for task ':dex'.
16:41:25.110 [ERROR] [org.gradle.BuildExceptionReporter] > warning: Ignoring InnerClasses attribute for an anonymous inner class
16:41:25.110 [ERROR] [org.gradle.BuildExceptionReporter] (org.apache.xmlbeans.XmlBeans$1) that doesn't come with an
16:41:25.111 [ERROR] [org.gradle.BuildExceptionReporter] associated EnclosingMethod attribute. This class was probably produced by a
16:41:25.111 [ERROR] [org.gradle.BuildExceptionReporter] compiler that did not target the modern .class file format. The recommended
16:41:25.112 [ERROR] [org.gradle.BuildExceptionReporter] solution is to recompile the class from source, using an up-to-date compiler
16:41:25.112 [ERROR] [org.gradle.BuildExceptionReporter] and without specifying any "-target" type options. The consequence of ignoring
16:41:25.112 [ERROR] [org.gradle.BuildExceptionReporter] this warning is that reflective operations on this class will incorrectly
16:41:25.115 [ERROR] [org.gradle.BuildExceptionReporter] indicate that it is *not* an inner class.
16:41:25.115 [ERROR] [org.gradle.BuildExceptionReporter] warning: Ignoring InnerClasses attribute for an anonymous inner class
16:41:25.116 [ERROR] [org.gradle.BuildExceptionReporter] (org.apache.xmlbeans.XmlSimpleList$1) that doesn't come with an
16:41:25.140 [ERROR] [org.gradle.BuildExceptionReporter] associated EnclosingMethod attribute. This class was probably produced by a
16:41:25.140 [ERROR] [org.gradle.BuildExceptionReporter] compiler that did not target the modern .class file format. The recommended
16:41:25.140 [ERROR] [org.gradle.BuildExceptionReporter] solution is to recompile the class from source, using an up-to-date compiler
16:41:25.141 [ERROR] [org.gradle.BuildExceptionReporter] and without specifying any "-target" type options. The consequence of ignoring
16:41:25.141 [ERROR] [org.gradle.BuildExceptionReporter] this warning is that reflective operations on this class will incorrectly
16:41:25.141 [ERROR] [org.gradle.BuildExceptionReporter] indicate that it is *not* an inner class.
16:41:25.141 [ERROR] [org.gradle.BuildExceptionReporter] warning: Ignoring InnerClasses attribute for an anonymous inner class
16:41:25.142 [ERROR] [org.gradle.BuildExceptionReporter] (org.apache.xmlbeans.XmlSimpleList$2) that doesn't come with an
16:41:25.142 [ERROR] [org.gradle.BuildExceptionReporter] associated EnclosingMethod attribute. This class was probably produced by a
16:41:25.142 [ERROR] [org.gradle.BuildExceptionReporter] compiler that did not target the modern .class file format. The recommended
16:41:25.142 [ERROR] [org.gradle.BuildExceptionReporter] solution is to recompile the class from source, using an up-to-date compiler
16:41:25.143 [ERROR] [org.gradle.BuildExceptionReporter] and without specifying any "-target" type options. The consequence of ignoring
16:41:25.143 [ERROR] [org.gradle.BuildExceptionReporter] this warning is that reflective operations on this class will incorrectly
16:41:25.143 [ERROR] [org.gradle.BuildExceptionReporter] indicate that it is *not* an inner class.
...
ich gelesen, dass ich brauchte diese hinzufügen zu ignorieren Warnung aber ich bekomme einen anderen Fehler auf compileSdkVersion
lintOptions {
abortOnError false
}
und hier ist mein build.gradle Datei:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b8'
}
}
apply plugin: 'org.javafxports.jfxmobile'
mainClassName = "JavaFXStage"
version = '1.0'
repositories {
jcenter()
}
jfxmobile {
ios {
forceLinkClasses = ['ensemble.**.*']
}
android {
javafxportsVersion = '8u40-b5'
compileSdkVersion = 23
applicationPackage = 'any.package.name'
}
}
dependencies{
def poiVersion = "3.10.1"
compile "org.apache.poi:poi:${poiVersion}"
compile "org.apache.poi:poi-ooxml:${poiVersion}"
compile "org.apache.poi:ooxml-schemas:1.1"
compile "org.apache.xmlbeans:xmlbeans:2.6.0"
}
Wenn Sie weitere Informationen über das Projekt benötigen, zögern Sie nicht Fragen.
Wenn Sie irgendwelche Tipps haben, um mein Problem zu lösen, danke.
Thomas
Es scheint xmlbeans ist veraltet (zuletzt aktualisiert 2012, veraltet erklärt 2014). Warum benutzt du es immer noch? Können Sie Ihr Projekt ohne es kompilieren? – Itai
Ich kompiliere es ohne xmlbeans und ich habe immer noch den gleichen Fehler. – Thomas
Das Fehlerprotokoll, das Sie anfügen, bezieht sich speziell auf xmlbeans. Was ist das neue Fehlerprotokoll? – Itai