Ensime не работает с sbt + android-плагином

Я создал проект, используя это: https://github.com/gseitz/android-sbt-project.g8

Когда я запускаю ensime в emacs для редактирования src/main/scala/Activity.scala, у меня есть красные выделения почти везде. Первое выделение говорит в качестве примера в "import root.android.wh независимо", что android не является членом root. Но в SBT все компилируется нормально. Как я могу настроить ensime для правильной работы с sbt + android-plugin?

2 ответа

Решение

Дайте Ensime знать, где можно найти android пакеты. Добавьте в файл.ensime строку, содержащую путь к android.jar, например:

:compile-jars (" [...] /local/share/java/android-sdk-mac_x86/platforms/android-10/android.jar")

Предыдущий ответ больше не работает с более новыми версиями ensime. Новая версия требует что-то вроде

:compile-deps ("/home/aij/android/sdk/platforms/android-21/android.jar" ...)

Вот одна строка, чтобы отредактировать файл для вас, предполагая, что $ANDROID_HOME установлен:

sed -i~ 's|:compile-deps (|:compile-deps ("'"$ANDROID_HOME"'/platforms/android-21/android.jar" |' .ensime

Во всяком случае, это все еще просто грязный хак, чтобы заставить его работать. Надлежащим решением будет исправить один из двух плагинов.

Другие вопросы по тегам