Gradle: тип программы уже присутствует - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь начать работу с проектом libaums (https://github.com/magnusja/libaums).Я написал класс Log, который отражает методы android.util.Log, но записывает все в файл (так как я не могу получить доступ к отладочному выходному потоку на android).Я не смог понять, как собрать пакет из написанного мной модуля и включить его в качестве локальной зависимости в проект libaums ( Компиляция Gradle: пакет не найден ), поэтому я решил просто импортировать Log.Java (который является пакетом com.iglogger, который реализует класс Log) в обоих проектах libaums (приложение и фактическая библиотека libaums).Это, в свою очередь, создало проблему на этапе объединения dex-файлов, так что проект приложения зависит как от класса Log, так и от libaums, и все же libaums также использует класс Log.

13684:09:44:38.705 [ERROR] [com.android.build.gradle.internal.tasks.DexMergingTaskDelegate] java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
13861:Caused by: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
13649:09:44:38.698 [ERROR] [org.gradle.api.Project] D8: Program type already present: com iglogger.Log
13685:Program type already present: com.iglogger.Log
13862:Program type already present: com.iglogger.Log
13871:Program type already present: com.iglogger.Log

После некоторых исследований решение кажетсяТем не менее, я должен исключить зависимость от Log.java (т.е. com.iglogger.Log) при импорте libaums в проект приложения.Но как именно я должен сделать это в моем случае?Кажется, что я объявил зависимость от Log.java в проекте libaums, так что я смогу исключить его позже .. Верно?Если так, то как?

1 Ответ

0 голосов
/ 15 марта 2019

Таким образом, проблема решена удалением файлов (com / iglogger) из проекта приложения, который зависит от проекта lib.Т.е. оператор import в java, кажется, включает в себя не только объявление пакетов для использования, но , необязательно , объекты самих пакетов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...