У меня возникла странная ошибка: один из плагинов, которые я использовал в течение длительного времени, внезапно начал выдавать неразрешенные ссылочные ошибки (либо при прямом вызове, либо вообще не найден, когда инструментальная цепочка пытается создать его экземпляр из GeneratedPluginRegistrant.java
). Заявления об импорте присутствуют и верны. Самая сложная часть заключается в том, что одно и то же приложение нормально компилируется, если оно запущено из командной строки (flutter.bat build appbundle ...
), и показывает ошибку только при сборке из IDE, то есть Android Studio.
Я получаю обычную ошибку:
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
> Compilation error. See log for more details
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
Но как мне получить журнал? Я хорошо знаю предыдущие подобные вопросы, но они больше не работают. Добавление любого из приведенных выше параметров в «Настройки» > «Сборка» > «Компилятор Gradle-Android» > «Параметры командной строки» не имеет никакого влияния. Я добавляю -v
к flutter run
, и результирующий вывод будет довольно подробным, да, но он подробно показывает все до ошибки, указанной выше, но не добавляет никакой полезной информации к фактической ошибке (кроме трассировки стека внутри компилятора). здесь это совершенно неинтересно).
Использование gradlew.bat --verbose
во время работы меня не интересует, потому что, как я уже говорил выше, ошибка появляется только при запуске из-под IDE, поэтому запуск из командной строки мне не поможет.
Я также попробовал GRADLE_OPTS
или добавить --debug
непосредственно в gradlew.bat
в строке, где она собирает команду, но это ничего не меняет в выводе или, по крайней мере, нигде, где я это вижу.
Версии для справки:
Кэши очищались много раз, в том числе «Файл» > «Недействительные кеши» в AS, а также вручную во время тестирования. Проблема может быть воспроизведена с помощью соответствующего плагина, хранящегося как в обычном кеше пакета Pub, так и в виде локальной копии.
Нет, это произошло практически на ровном месте. Я что-то изменил, но вряд ли поверю, что это как-то связано: я перенес свой диск для разработки на SSD вместо жесткого диска. Но прежде чем вы поспешите указать, что это должно быть причиной, тогда :-), у меня есть около дюжины других приложений, все мигрировали правильно, каждая переменная ENV указывает на соответствующее место, уже проверено более трех раз, и это приложение также компилируется из командной строки. Но я, конечно, где-то не исключаю своей ошибки, поэтому хотелось бы увидеть подробный лог.
И, кстати, я бы даже не сказал, что это совпадает, переезд был где-то на день раньше, а над приложением, о котором идет речь, я работал после этого. Без этой ошибки.
Я вижу, ты уже много чего попробовал. Если вы хотите просмотреть журнал, вы можете перейти в меню справки вверху. Откройте «Справка» > «Средства диагностики» > «Настройки журнала отладки». Добавьте #org.gradle.api, чтобы собирать более подробные журналы. После этого проверьте журналы на наличие дополнительных подсказок. Это может привести к появлению журналов студии Android, я не уверен
Если вы потратили так много времени, это может быть какой-то глупой проблемой. можете ли вы попробовать запустить проект на какой-нибудь другой машине, если это возможно?
Не обошлось и без установки AS, Flutter, Android SDK и всего остального. :-) Итак, сначала я начну с вашего предыдущего предложения.
К сожалению, ничего. Он передает его flutter.bat, но больше в журнале ничего не появляется.
Сейчас оно снова работает, но я бы не сказал, что исправил это, поэтому немного боюсь, когда оно вернется. В любом случае, некоторые моменты, представляющие интерес для тех, кто сталкивается с той же проблемой:
В конце концов, есть способ посмотреть журнал. Я сказал, что, среди прочего, пытался изменить gradlew.bat
. Наконец-то это сработало, но вам нужно добавить --debug
, --verbose
или --scan
в конце, после %CMD_LINE_ARGS%
. Когда я впервые попробовал, я поставил дополнительные переключатели после GRADLE_OPTS
, так как это место показалось мне логичным. Это работает только в конце. Также добавьте аргумент запуска -v
в «Редактировать конфигурации», и вы его получите. На самом деле вы получаете так много, что это может переполнить буфер консоли.
Итак, когда я добавил --scan
, я получил записи журнала. Но более того, проект вернулся в нормальное состояние, он скомпилировался. И с тех пор он компилируется. И хотя я рад, что это так, у меня нет ощущения, что я это исправил...
Обновляли ли вы Android Studio до того, как она начала работать в вашей IDE? в вашей студии Android могут быть изменения конфигурации. вы должны увидеть подробные журналы Android Studio и Gradle.