2016-08-25 14 views
3

私はAndroidの計測テストを実行していると私は私がメッセージを取得IDを指定した文字列を取得するために、InstrumentationRegistry.getContext()によって返さContext使用する場合:

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

を私は他の文字列リソースからではなくなしにIDを試してみました利用可能。

私はstackoverflowでこの同じ例外に関するいくつかの質問を見てきましたが、それらのすべてには文字列IDをView.setTextに渡す必要があります。私はライブラリを作成しており、Viewはまったく存在しないので、これは私にとっては関係ありません。

答えて

0

私はこれを自分で考え出しました。テスト中のモジュールはアプリケーションプロジェクトに設定されていましたが、ライブラリプロジェクトとしてセットアップされているはずです。それはライブラリプロジェクトには適用されませんので、私はまたbuild.gradleファイルからapplicationId行を削除する必要がありました

apply plugin: 'com.android.library'

:これまで

apply plugin: 'com.android.application'

:モジュールのbuild.gradleファイルでは、私はこれを変更しました。

これらの変更を行うと、文字列のリソースIDが見つかりました。

3

あなたは、この例のようtargetContext使用することができます。

InstrumentationRegistry.getTargetContext().getString(R.id.name); 

これはあなたの文字列resoucesをフェッチする必要があります

関連する問題