Импорт greenDAO из eclipse в Android Studio 1.0 RC 2

У меня есть довольно большой проект eclipse, который использует greenDAO, и я хочу импортировать его в студию Android.

У меня довольно много проблем при этом. Сначала с помощью импорта студии Android он включал другие проекты и библиотеки, связанные с моими, но не импортировал dao. Затем я вручную добавил проект greendao, который нашел модули: DaoCore, DaoGenerator и DaoExampleGenerator. Я добавил зависимость к модулям, но я просто получаю ошибку сборки:

Ошибка: не удалось выполнить задачу ':name:dexDebug'.

com.android.ide.common.internal.LoggedErrorException: не удалось запустить команду: C:\Android\sdk\build-tools\21.1.1\dx.bat --dex --no-optimize --output path\build\ Intermediates\dex\debug --input-list=path\build\intermediates\tmp\dex\debug\inputList.txt Код ошибки: 2 Вывод: НЕОЖИДАННОЕ ИСКЛЮЧЕНИЕ ВЕРХНЕГО УРОВНЯ: com.android.dex.DexException: Несколько файлов dex определяют Lde/зеленый робот/даогенератор/ДаоГенератор; на com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) на com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) на com.android.dx.merge.DexMerger.mergeClassDefs (DexMerger.java:535) по адресу com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) по адресу com.android.dx.merge.DexMerger.merge(DexMerger.java:189) по адресу com.android. dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) в com.android.dx.command.dexer.Main.runMonoDex(Main.java:302) в com.android.dx.command.dexer.Main. run(Main.java:245) на com.android.dx.command.dexer.Main.main(Main.java:214) на com.android.dx.command.Main.main(Main.java:106)

все три модуля не найдены. И все включения в java-файлы greendao игнорируются.

Я погуглил, что вам нужно внести некоторые изменения в gradle, но это было для новых проектов, а не для существующих.

Пожалуйста помоги.


person Tadej Vengust    schedule 02.12.2014    source источник
comment
В общем, ваш проект имеет символ DoGenerator, определенный в нескольких местах, чего вы не можете сделать в проектах Android. Это означает, что символ определяется избыточно в нескольких библиотеках. Я бы предложил пройти процесс добавления зависимостей greenDAO по одной, чтобы найти виновника. Если у вас все еще есть проблемы, добавьте файлы сборки к своему вопросу.   -  person Scott Barta    schedule 02.12.2014