我更新到 Android Studio 3.1 并按照 Android Studio 的建议:
- 将Android gradle插件从2.3.0更新到3.1.0(也尝试了新的3.1.1,问题依然存在)
- 将 buildToolsVersion 更新为 27.0.3
- 使用 SDK 管理器下载 Android 8.1 API 27。
我使用的是 JDK 8。
我之前的 Android Studio 构建配置“核心测试”刚刚在一个模块中运行了所有测试,现在显示:
无法使用 Gradle 发行版执行构建'https://services.gradle.org/distributions/gradle-4.5.1-all.zip'.
My set up:
The exact exception as shown in the ide:
我的完整源代码:https://github.com/Leejjon/BluffPoker
显然,在命令行上运行时会出现相同的空指针:gradle :core:test
该命令将因相同的 NullPointer 而失败。对根项目进行测试,例如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 生成的 html 页面(位于 BluffPoker\core\build\reports\tests\test\index.html 中)以排除它们是否失败。
正如这位错误评论者指出的那样:https://issuetracker.google.com/issues/77605097#comment7
禁用 Gradle 的“按需配置”功能(在“设置:构建、执行和部署:编译器”中)是一个可行的解决方法。
自从我这样做以来,我的单元测试都再次工作了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)