android - 运行时异常运行 robolectric 测试 IntelliJ

标签 android intellij-idea robolectric

在 IntelliJ 中运行我的 robolectric 测试时,我得到:

Warning: an error occurred while binding shadow class: ShadowGeoPoint
Warning: an error occurred while binding shadow class: ShadowItemizedOverlay
Warning: an error occurred while binding shadow class: ShadowMapController
Warning: an error occurred while binding shadow class: ShadowMapActivity
Warning: an error occurred while binding shadow class: ShadowMapView
Warning: an error occurred while binding shadow class: ShadowOverlayItem
WARNING: Unable to find path to Android SDK

java.lang.RuntimeException: java.lang.NullPointerException
    at com.xtremelabs.robolectric.res.ResourceLoader.init(ResourceLoader.java:158)
    at com.xtremelabs.robolectric.res.ResourceLoader.setLayoutQualifierSearchPath(ResourceLoader.java:599)
    at com.xtremelabs.robolectric.RobolectricTestRunner.setupApplicationState(RobolectricTestRunner.java:367)
    at com.xtremelabs.robolectric.RobolectricTestRunner.internalBeforeTest(RobolectricTestRunner.java:311)
    at com.xtremelabs.robolectric.RobolectricTestRunner.methodBlock(RobolectricTestRunner.java:278)
    at ...

ANDROID_HOME 已设置,但 InteliJ 似乎没有找到它。

最佳答案

通过在项目的根目录中运行以下命令,在 local.properties 文件中设置 sdk.dir:

$ android update project -p .

设置 local.properties 文件是适用于大多数 IDE 的解决方案,因为您无需担心传递环境变量的问题。

我从 Unable to find Android SDK 得到这个.您还可以尝试其他一些选项。

关于android - 运行时异常运行 robolectric 测试 IntelliJ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15849261/

相关文章:

intellij-idea - Go 从命令行工作,但不是从 IntelliJ Idea Go

java - 远程调试器挂起最新版本的 IntelliJ IDEA 2018.3

android - 在 Robolectric 测试之间重置

java - Firebase firestore 子集合排序和限制

java - Android 库的套接字总是超时

linux - 调试器在带有 "Go"插件的 IntelliJ IDEA 中不起作用

android - Robolectric 与 android 中的数据库

android - 折叠 CardView 动画无法正常工作

java - 方向改变和通知

android - 升级到Android Studio 1破坏了Robolectric测试