Я закашлялся, как 2 дня, чтобы понять это. Поэтому я возвращаюсь к публикации результатов здесь, если это экономит время:
Это вызвано bug in Jack that prevents classpaths from working properly. Это связано с тем, что Джек работает «in-process» (в той же JVM, что и демоном градации). Установка android.defaultConfig.jackOptions.jackInProcess
на false выходит за пределы ошибки «Предпосылки», но вызывает другие проблемы (2 JVMs, которые поддерживают системные ресурсы) & bugs, которые ломают сборку в других (worse) способами.
В настоящее время, самое лучшее решение, кажется:
- Дождитесь выхода Android Gradle плагин, который уже имеет починку для этого 2.3.
- Даунгрейд Кинжал до v2.2, тем временем.
Это самая высокая версия, которая, кажется, избегает конфликта с Гуавой с Джеком.
EDIT: обновление 1/14/2017:
я столкнулся с несколькими другими проблемами с Джеком и так устала от него, что я перешел на retrolambda и пнул себя за не делал этого раньше! Прямо сейчас, Джек просто, кажется, вызывает больше проблем, чем решает. Просто добавьте линии с плюсом и удалите строки с минусом, и вы можете вернуться к Dagger 2.8, ожидая, когда Джек будет действовать вместе!
+plugins {
+ id "me.tatarka.retrolambda" version "3.4.0"
+}
apply plugin: 'com.android.application'
+apply plugin: 'me.tatarka.retrolambda'
- jackOptions {
- enabled true
- }
Для более быстрого retrolambda сборки, добавьте org.gradle.jvmargs=-Xmx4608M
в файл gradle.properties
так, что Dexing может произойти в процессе. Теперь, я на Dagger 2.8 и мои чистые сборки всего 12 секунд, GOOD RIDDANCE, JACK!
Обновление от градации 2.2 до 2.3 сделало трюк для меня. благодаря – Gonzalo