We are worst off with our 2.9-SNAPSHOT, I can't even build an app using
only log4j-api:

AGPBI: {"kind":"error","text":"Error converting bytecode to dex:\nCause:
Dex cannot parse version 53 byte code.\nThis is caused by library
dependencies that have been compiled using Java 8 or above.\nIf you are
using the \u0027java\u0027 gradle plugin in a library submodule add
\ntargetCompatibility \u003d \u00271.7\u0027\nsourceCompatibility \u003d
\u00271.7\u0027\nto that submodule\u0027s build.gradle
file.","sources":[{}],"original":"UNEXPECTED TOP-LEVEL
EXCEPTION:\njava.lang.RuntimeException: Exception parsing classes\n\tat
com.android.dx.command.dexer.Main.processClass(Main.java:781)\n\tat
com.android.dx.command.dexer.Main.processFileBytes(Main.java:747)\n\tat
com.android.dx.command.dexer.Main.access$1200(Main.java:88)\n\tat
com.android.dx.command.dexer.Main$FileBytesConsumer.processFileBytes(Main.java:1689)\n\tat
com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)\n\tat
com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)\n\tat
com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)\n\tat
com.android.dx.command.dexer.Main.processOne(Main.java:695)\n\tat
com.android.dx.command.dexer.Main.processAllFiles(Main.java:592)\n\tat
com.android.dx.command.dexer.Main.runMultiDex(Main.java:376)\n\tat
com.android.dx.command.dexer.Main.run(Main.java:290)\n\tat
com.android.builder.internal.compiler.DexWrapper.run(DexWrapper.java:54)\n\tat
com.android.builder.core.DexByteCodeConverter.lambda$dexInProcess$0(DexByteCodeConverter.java:174)\n\tat
java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\n\tat
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\n\tat
java.lang.Thread.run(Thread.java:745)\nCaused by:
com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or
version (0035.0000)\n\tat
com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:476)\n\tat
com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)\n\tat
com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)\n\tat
com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)\n\tat
com.android.dx.command.dexer.Main.parseClass(Main.java:793)\n\tat
com.android.dx.command.dexer.Main.access$1600(Main.java:88)\n\tat
com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1728)\n\tat
com.android.dx.command.dexer.Main.processClass(Main.java:779)\n\t... 16
more\n","tool":"Dex"}
AGPBI: {"kind":"error","text":"1 error; aborting","sources":[{}]}

Can we split off this Java 9 stuff in a separate module?

Gary

On Sat, Jul 8, 2017 at 4:01 PM, Matt Sicker <boa...@gmail.com> wrote:

> If you've got some instructions on how to even get an Android project up
> and running, getting some test code to play with would certainly help. Long
> ago when I tried debugging some Android issues with Log4j, I couldn't even
> get that far. :/
>
> On 8 July 2017 at 17:31, Gary Gregory <garydgreg...@gmail.com> wrote:
>
> > A quick follow up to note that with 2.8.2, using log4j-api does not cause
> > problems but then adding log4j-core causes the app to fail to start. So I
> > definitively see an Android epic for 2.10. Maybe this is when we want to
> > split up log4j-core.
> >
> > Gary
> >
> > On Sat, Jul 8, 2017 at 3:20 PM, Gary Gregory <garydgreg...@gmail.com>
> > wrote:
> >
> > > So here I am with my family our of town on a weekend, and I thought I'd
> > > give Log4j on Android a try.
> > >
> > > The first thing I run into is:
> > >
> > > FAILURE: Build failed with an exception.
> > >
> > > * What went wrong:
> > > Execution failed for task ':Application:transformResourcesWithMergeJav
> > > aResForDebug'.
> > > > com.android.build.api.transform.TransformException:
> > > com.android.builder.packaging.DuplicateFileException: Duplicate files
> > > copied in APK META-INF/LICENSE
> > > File1: C:\Users\ggregory\.gradle\caches\modules-2\files-2.1\
> > > org.apache.logging.log4j\log4j-core\2.8.2\
> 979fc0cf8460302e4ffbfe38c1b66a
> > > 99450b0bb7\log4j-core-2.8.2.jar
> > > File2: C:\Users\ggregory\.gradle\caches\modules-2\files-2.1\
> > > org.apache.logging.log4j\log4j-api\2.8.2\
> e590eeb783348ce8ddef205b82127f
> > > 9084d82bf3\log4j-api-2.8.2.jar
> > >
> > >
> > > * Try:
> > > Run with --stacktrace option to get the stack trace. Run with --info or
> > > --debug option to get more log output.
> > >
> > > BUILD FAILED
> > >
> > > Total time: 1.995 secs
> > >
> > > which is solved by:
> > >
> > > https://stackoverflow.com/questions/37586800/android-
> > > gradle-duplicate-files-copied-in-apk-meta-inf-license-txt
> > >
> > > Which means I have to add this to my build:
> > >
> > > packagingOptions {
> > >     exclude 'META-INF/DEPENDENCIES'
> > >     exclude 'META-INF/LICENSE'
> > > }
> > >
> > > I wonder if we should generate these files pretending we are in an uber
> > jar, either:
> > >
> > > - with the project name in the name like META-INF/log4j2.LICENSE
> > >
> > > - with maven AID in the name like META-INF/log4j-api.LICENSE
> > >
> > > - with maven coords in the name like META-INF/org.apache.logging.
> > log4j-log4j-api.LICENSE
> > >
> > > As an aside files like LICENSE and NOTICE do not have .txt extensions
> > which is lame IMO.
> > >
> > > Ignore and do nothing? Thoughts?
> > >
> > > Gary
> > >
> > >
> >
>
>
>
> --
> Matt Sicker <boa...@gmail.com>
>

Reply via email to