在Mac上的Android Studio中运行单元测试时,我可以手动运行1次,然后失败,并显示错误“无法使用Gradle发行版'https://services.gadles.org/distributions/gradle-4.10-all.zip'执行构建”。
我可以通过删除.gradle文件夹并重新启动Android Studio来再次运行它,但这对于测试来说是不可持续的。
当使用./gradlew手动运行单元测试时,它每次都可以工作,但不适用于调试。
这甚至适用于最简单的测试。
想从“构建”选项卡添加特定的错误消息。这是在一个简单的测试中发生的,第一次运行它正常,第二次运行它不正常:
@Test
fun testTrue(){
assertTrue(true)
}
FAILURE: Build failed with an exception.
* What went wrong:
java.lang.NullPointerException (no error message)
答案 0 :(得分:1)
所以,我有一个可能是原因的嫌疑人,并且有一个使它在短期内起作用的黑客。
首先,黑客。正如许多其他人回答的那样,删除.gradle文件夹暂时为我解决了此问题。但是,这有点过头了,每次运行时都会强制完成一个完整的构建。
您可以通过仅删除.gradle / 4.7 / fileHashes文件夹中的fileHashes.bin和fileHashes.lock文件来部分解决此问题。我编写了一个快速脚本来删除这两个文件,并在“运行/调试配置”中编辑了“ Android JUnit”模板,以在每次运行junit之前运行该脚本。有关详细信息,请参见屏幕截图,但是您需要确保它是第一件事。 (将其拖到第一个)
.bsh文件是可执行文件,只会删除这两个文件。
#!/bin/bash
echo This script deletes the .gradle files necessary for my android studio to work
cd wealth-android/.gradle/4.7/fileHashes
rm fileHashes.*
现在,真正的问题可能是我可以在机器上实现gradle的多种实现。我将进一步研究并更新答案。