DEX не удалось разобрать банку, включая BuildConfig и R, используя Gradle, но работал с Ant

Я пытаюсь перенести проект на Android Studio / Gradle, но у меня возникла странная проблема с банкой, которая отлично работала с использованием Ant . Кажется, что R и BuildConfig включены в банку, а их имя пакета объявлено как верхний регистр, где на самом деле структура пакета определена как строчная. (Я изменил имя пакета, чтобы защитить анонимность разработчика, надеюсь, что все в порядке)

НЕОПРЕДЕЛЕННОЕ ИСКЛЮЧЕНИЕ ТОП-УРОВНЯ:
Com.android.dx.cf.iface.ParseException: имя класса (com / companyname / UI / BuildConfig) не соответствует пути (com / companyname / ui / BuildConfig.class) в com.android.dx.cf.direct.DirectClassFile .parse0 (DirectClassFile.java:520) в com.android.dx.cf.direct.DirectClassFile.parse (DirectClassFile.java:406) в com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary (DirectClassFile.java:388 ) На com.android.dx.cf.direct.DirectClassFile.getMagic (DirectClassFile.java:251) на com.android.dx.command.dexer.Main.processClass (Main.java:665) на com.android.dx. Command.dexer.Main.processFileBytes (Main.java:634) на com.android.dx.command.dexer.Main.access $ 600 (Main.java:78) на com.android.dx.command.dexer.Main $ 1. ProcessFileBytes (Main.java:572) в com.android.dx.cf.direct.ClassPathOpener.processArchive (ClassPathOpener.java:284) в com.android.dx.cf.direct.ClassPathOpener.processOne (ClassPathOpener.java:166) На com.android.dx.cf.direct.ClassPathOpener.process (ClassPathOpener.java:144) на com.android. Dx.command.dexer.Main.processOne (Main.java:596) на com.android.dx.command.dexer.Main.processAllFiles (Main.java:498) на com.android.dx.command.dexer.Main. RunMonoDex (Main.java:264) на com.android.dx.command.dexer.Main.run (Main.java:230) на com.android.dx.command.dexer.Main.main (Main.java:199) На com.android.dx.command.Main.main (Main.java:103) … при разборе com / companyname / ui / BuildConfig.class

Вот мои вопросы:

  • Зачем это работать с Ant, а не с Gradle?
  • Должно ли это считаться дефектом / ошибкой или это дизайнерское решение?
  • Почему я не могу найти кого-либо еще в Интернете, имеющего эту проблему с другими банками?
  • Какой совет я могу дать разработчику о том, как исправить проблему?

Я думаю, что если вы перестроить библиотеку и исключить все из каталога / gen, все должно работать нормально.

Это произошло со мной, когда имя пакета в Play (com.checkpoint.DocSec) было отличным от локального каталога (com.checkpoint.docsec), а нечувствительность к файлу локальной файловой системы прикручивала процесс построения.

В соответствии с этим я могу изменить имя пакета в манифесте на com.checkpoint.capsule.docs (это не имеет большого значения, если это не то же самое, с учетом регистра) и установить идентификатор приложения в Build.gradle to com.checkpoint.DocSec (очень важно сохранить его точно так же, как и было !!!).

Это решило проблему для меня.