質問: Android StudioでModuleが2つある場合の優先順位についてです。 1つのプロジェクトにappというアプリケーションとhogeというライブラリが存在しています。 appはbuild.gradleで`build.apply plugin: 'com.android.application'`宣言をしており hogeはbuild.gradleで`build.apply plugin: 'com.android.library'`宣言しています。 app、hogeともにjavaソース、res配下のvaluesやlayout、AndroidManifest.xmlを保持しています。 Project Structureでappからhogeへの関連付けを行いappのコードでhogeを呼び出して実行していますが。 appの`values` -> `string.xml`がhogeのstring.xmlで実行時に上書きされているようで `string.xml`のapp_nameなどがhogeの値になっているので、 appの`string.xml`を優先するにするにはどんな関連付けを行えばよいでしょうか?
回答: Android Developers「Managing Projects Overview」の抜粋です。 > > ### Resource conflicts > > > Since the tools merge the resources of a library module with those of a dependent application module, a given resource ID might be defined in both modules. In this case, the tools select the resource from the application, or the library with highest priority, and discard the other resource. As you develop your applications, be aware that common resource IDs are likely to be defined in more than one project and will be merged, with the resource from the application or highest-priority library taking precedence. > > > ### Use prefixes to avoid resource conflicts > > > To avoid resource conflicts for common resource IDs, consider using a prefix or other consistent naming scheme that is unique to the module (or is unique across all project modules). > > > 要約すると、同じリソースIDがあると競合(ライブラリのものが優先される)するので気をつけましょう。モジュールごとに一貫性のあるプレフィクスを付ける等して衝突しないようにしたりする事も検討しましょう、とのこと。 編集:認識違い・訳違いについてコメント頂いたので、原文段落を追加、要約に留めました。