我的问题确实很奇怪,并且没有在我的朋友PC上使用相同的代码进行复制...甚至在其他项目中也没有使用相同的代码进行复制。无论如何,我有一些带有空运行方法的线程:
@Override
public void run() {
}
在这样的形状下,项目可以很好地构建,所以我认为配置/工具等的一切都可以。 但是...当我将此方法更改为:
@Override
public void run() {
while (true) {
}
}
编译运行:
./ gradlew assembleDebug
坚持:
>:app:transformClassesWithDexBuilderForDebug
它永远粘住 ...我给了它67个小时,但它仍然卡住了。 当我将此循环从run方法移到构造函数或其他任何地方时,没有问题,并且代码可以编译。 仅当在运行方法中放置循环时,编译才会卡住。
编辑:这个问题甚至更奇怪,因为当我这样做时:
@Override
public void run() {
boolean x = true;
while (x) {
}
}
它可以编译。