使用InstrumentationRegistry.getContext()。getString()时,为什么会得到Resources $ NotFoundException?

时间:2016-08-25 02:42:51

标签: android android-studio resources instrumentation

我正在运行Android Instrumentation测试,当我使用Context返回的InstrumentationRegistry.getContext()来检索给定ID的字符串时,我收到消息:

android.content.res.Resources$NotFoundException: String resource ID #0x7f060020

我已尝试过来自其他字符串资源的ID,但无济于事。

我已经在stackoverflow上查看了有关同一异常的几个问题,但所有这些问题都涉及将字符串id传递给View.setText。这与我无关,因为我正在创建一个库,而且根本没有View

2 个答案:

答案 0 :(得分:7)

您可以使用此示例中的targetContext:

/

这应该获取你的字符串资源

答案 1 :(得分:0)

我为自己想出了这个。被测模块被设置为应用程序项目,但它应该被设置为库项目。在模块的build.gradle文件中,我对此进行了更改:

apply plugin: 'com.android.application'

到此:

apply plugin: 'com.android.library'

我还必须从applicationId文件中删除build.gradle行,因为它不适用于库项目。

一旦我做了这些更改,就可以找到字符串的资源ID。