Моя проблема действительно странная, и она не воспроизводится на ПК моих друзей с тем же кодом ... Она даже не воспроизводится в каком-то другом проекте с другим кодом. Во всяком случае, у меня есть поток с пустым методом запуска:
@Override
public void run() {
}
В такой форме проект работает нормально, поэтому я предполагаю, что все с моей конфигурацией / инструментами и т. Д. В порядке.
Однако ... когда я изменяю этот метод на:
@Override
public void run() {
while (true) {
}
}
компиляция запускается с:
. / Gradlew сборки Отладка
застрял на:
>: app: transformClassesWithDexBuilderForDebug
и он застрял навсегда ... Я дал ему 67 часов, и он все еще застрял.
Когда я перемещаю этот цикл из метода run в конструктор или куда-либо еще, проблем нет, и код компилируется Компиляция застревает только тогда, когда цикл помещен в метод выполнения.
Редактировать: проблема еще более странная, потому что, когда я делаю:
@Override
public void run() {
boolean x = true;
while (x) {
}
}
отлично компилируется.