1

在 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 似乎没有找到它。

4

2 回答 2

2

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

$ android update project -p .

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

我从Unable to find Android SDK. 您还可以尝试其他几个选项。

于 2013-04-06T10:58:14.307 回答
0
  • 转到运行配置(运行-> EditConfigurations ..)
  • 从左侧选择您的测试(在 JUnit 下)
  • 在配置选项卡中,转到环境变量部分并添加一个指向您的 sdk 的环境变量 ANDROID_HOME
  • 再次应用、构建和运行测试

注意:您可以在 JUnit 默认设置中添加这个,这样您就不必为每个测试类做

于 2013-04-06T16:33:39.267 回答