Аннотации AndroidStudio android-apt Android: IDE удаляет сгенерированную папку из включаемого пути

#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 в соответствии с этим коммитом.