Как Android обрабатывает несколько R.java?

Я делаю несколько приложений для Android-библиотеки для проекта. Для упрощения вопроса, допустим у меня есть две библиотеки(utilLib , screenLib)в этом проекте (теперь будем называть app).

В каждом проекте есть ресурс String с одинаковым именем, но с разными значениями. Как это:

utilLib

<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. Кто-нибудь сталкивался с этим?

9
задан RobGThai 23 April 2012 в 10:00
поделиться