プロジェクト用にいくつかの Android ライブラリ アプリを作成しています。質問を簡単にするために、このプロジェクトに 2 つのライブラリ ( utilLib、screenLib ) があるとします (現在はappと呼ばれます)。
各プロジェクト内に同じ名前の文字列リソースがありますが、値は異なります。このような:
ユーティリティ ライブラリ
<string name="app_version">1.0</string>
<string name="hello">UtilLib Hello</string>
screenLib
<string name="app_version">0.7a</string>
<string name="hello">ScreenLib Hello</string>
アプリ
<string name="app_version">0.1</string>
com.package.Rを使用して文字列を参照できることに気付きましたが、コードが次のようになっていると何が表示されるのでしょうか?
<!-- language: java -->
import com.app.R;
...
private void checkValue(){
String version = getString(R.app_version);
Log.d(TAG, "version: " + version); // 0.1 show be here
String hello = getString(R.hello);
Log.d(TAG, "Hello: " + hello); // <---- ? ('UtilLib Hello' or 'ScreenLib Hello')
}
ここでモジュラー ビルドを作成しようとしていますが、Android が R.java の使用を優先する方法を完全には理解していません。誰もこれを経験したことがありますか?