Paths don't match - android gradle plugin 1.4.0-beta6

34 views
Skip to first unread message

Ariel Cattan

unread,
Oct 6, 2015, 7:14:51 AM10/6/15
to adt-dev
Hey guys,

I'm trying to run an "AsInput" transform with 1.4.0-beta6.
In the getOutputFormat() I returned SINGLE_FOLDER.
When the transform is executed, as TransformOutput I get directories, such as ('demo' is the name of my product flavour):

D:\AndroidStudioProjects\test2\build\intermediates\transforms\CLASSES\SUB_PROJECTS\safedkWrap\demo\debug\classes.jar--2060364831

My transform therefore generates class files under the above directory, beginning with com/...
So for example, one of my classes - ShowToast.class - will appear under:

D:\AndroidStudioProjects\test2\build\intermediates\transforms\CLASSES\SUB_PROJECTS\safedkWrap\demo\debug\classes.jar--2060364831\com\somesdk\someLib\ShowToast.class

However, after my transform finishes, when dx is running it generates the following error:

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: Exception parsing classes
        at com.android.dx.command.dexer.Main.processClass(Main.java:752)
        at com.android.dx.command.dexer.Main.processFileBytes(Main.java:718)
        at com.android.dx.command.dexer.Main.access$1200(Main.java:85)
        at com.android.dx.command.dexer.Main$FileBytesConsumer.processFileBytes(Main.java:1645)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
        at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
        at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
        at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
        at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
        at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
        at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
        at com.android.dx.command.dexer.Main.processOne(Main.java:672)
        at com.android.dx.command.dexer.Main.processAllFiles(Main.java:574)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311)
        at com.android.dx.command.dexer.Main.run(Main.java:277)
        at com.android.dx.command.dexer.Main.main(Main.java:245)
        at com.android.dx.command.Main.main(Main.java:106)
Caused by: com.android.dx.cf.iface.ParseException: class name (com/somesdk/someLib/ShowToast) does not match path (classes.jar--2060364831/com/somesdk/someLib/ShowToast.class)
        at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:520)
        at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
        at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
        at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
        at com.android.dx.command.dexer.Main.parseClass(Main.java:764)
        at com.android.dx.command.dexer.Main.access$1500(Main.java:85)
        at com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1684)
        at com.android.dx.command.dexer.Main.processClass(Main.java:749)
        ... 21 more
3 errors; aborting

:test2:transformClassesWithDexForDemoDebug FAILED

Any idea why?

Thanks!
Ariel

Xavier Ducrohet

unread,
Oct 6, 2015, 4:42:19 PM10/6/15
to adt...@googlegroups.com
Yeah I can see what is going on (I think).

I'm fixing another issue right now and then I'm going to tackle this. thanks for the report.


--
You received this message because you are subscribed to the Google Groups "adt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to adt-dev+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Xavier Ducrohet
Android SDK Tech Lead
Google Inc.
http://developer.android.com | http://tools.android.com

Please do not send me questions directly. Thanks!
Reply all
Reply to author
Forward
0 new messages