#android #android-studio #android-gradle-plugin #android-annotations
#Android #android-studio #android-gradle-plugin #android-аннотации
Вопрос:
В настоящее время я переношу свой проект на новую IDEA на основе IDE. Текущая версия плагина Gradle в соответствии с build.gradle
файлом равна 0.12.
Чтобы заставить работать генератор кода Android Annotations, я следовал инструкциям по этой ссылке, и он редко работал (хотя воспроизвести его не удалось).
Из журнала gradle я вижу, что apt фактически генерирует код, который сохраняется на main-project/sub-project/build/source/...
. Однако я также заметил, что каждый раз, когда проект создается, эта папка удаляется из пути сборки (поэтому сгенерированные классы не распознаются). Эти строки автоматически добавляются в sub-project.iml
файл (поскольку iml-файл также сгенерирован, изменение его вручную ничего не даст):
<excludeFolder url="file://$MODULE_DIR$/build/intermediates" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/source" />
Если я попытаюсь проверить Preferences > Compiler > Excludes
, там ничего не отображается.
Я думаю, правильным решением было бы указать APT для генерации кода внутри sub-project/build/generated/...
, который также является папкой, используемой для размещения сгенерированного кода Android по умолчанию (R и т.д.), и он не исключен из path. Но как мне это сделать?
Ответ №1:
Инструкции по ссылке, которую я упомянул выше, относятся к версии 1.2 android-apt
. Изменение версии зависимости с 1.2 на 1.3 решает проблему.
dependencies {
classpath 'com.android.tools.build:gradle:0.12. '
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.3 '
}
Папка генерации apt недавно была исправлена на android-apt в соответствии с этим коммитом.