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 (очень важно сохранить его точно так же, как и было !!!).

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

Intereting Posts
Исключение null null указателя createChooser Android: Как получить идентификатор контакта по номеру телефона? Как сделать снимок экрана текущей деятельности, а затем поделиться ею? Зависимость между тестами JUnit, которые работают на нескольких устройствах одновременно Событие кнопки переключения не работает на разных устройствах Обобщенная обработка ошибок волейбола Android Visualizer FFT / waveform влияет на объем устройства? Как добавить значок или изменить значок дня календаря? Скрытие индикатора «Загрузка …» при реализации ListFragment Сделать приложение «Ион» в списке «Поделиться» и получить данные Получить страницу с Facebook на общедоступной странице Android Каков практический способ установки стабильных версий и приложений для разработки приложений одновременно? Error: 'to_string' не является членом 'std' Отправьте изображение Base64 с Android с помощью JSON на php webservice, расшифруйте, сохраните на SQL Как добавить собственные настройки VPN с помощью Java Reflecion (Android SDK 14+)