[英]Unit test configuration broke in Android Studio 3.1
我更新到Android Studio 3.1并按照Android Studio的建议:
我正在使用JDK 8。
我以前在一个模块中运行所有测试的Android Studio构建配置“核心测试”现在说:
无法使用Gradle分发' https://services.gradle.org/distributions/gradle-4.5.1-all.zip '执行构建。
我的完整源代码: https : //github.com/Leejjon/BluffPoker
在命令行上运行时,显然会出现相同的Nullpointer: gradle :core:test
此命令将失败并使用相同的NullPointer。 像gradle test
那样对根项目gradle test
就可以了。 我也可以在Android手机上部署应用程序。 这可能与IntelliJ无关,但Android gradle插件3.1.0打破了运行gradle :core:test
命令的能力。
TLDR:在核心模块中运行任何gradle任务,如gradle :core:sometask
似乎导致自Android gradle插件3.1.0以来的空指针。
我现在的解决方法是使用gradle test
命令在所有模块中运行所有测试,并通过junit(在BluffPoker \\ core \\ build \\ reports \\ tests \\ test \\ index.html中找到)研究生成的html页面,以解决它们是否是失败。
正如这个错误评论者所指出的那样: https : //issuetracker.google.com/issues/77605097#comment7
禁用Gradle的“按需配置”功能(在“设置:构建,执行和部署:编译器”中)是一种可行的解决方法。
自从我这样做以来,我的单元测试都在重新开始。
来自libgdx论坛的kekkou的解决方案: http : //www.badlogicgames.com/forum/viewtopic.php? f = 11&t = 27639&p = 109249#p109249
他的解决方案是:将根build.gradle中的project(':android') {}
块移动到android \\ build.gradle中。
这使得所有命令再次起作用。 我没有发现任何缺点。
在我的项目上提交此修复: https : //github.com/Leejjon/BluffPoker/commit/d10deb090c2d80e641d733efdaa85f99c0a9fe2f
在gradle-wrapper.properties中,尝试使用:
distributionUrl = HTTPS://services.gradle.org/distributions/gradle-4.3-rc-2-all.zip
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.