2012-07-19 2 views
8

Я пытаюсь создать R.java с помощью aapt из командной строки. Я указываю несколько каталогов -S, потому что у меня есть несколько каталогов res. Я в здании с помощью:Как использовать несколько значений -S с помощью aapt без использования <add-resource>?

aapt package \ 
    -M AndroidManifest.xml \ 
    -m -J gen \ 
    -S src/com/example/res \ 
    -S src/com/example/ui/res 

К сожалению, я получаю следующее сообщение об ошибке:

src/com/example/ui/res/values/strings.xml:2: error: Resource at app1_name appears in overlay but not in the base package; use <add-resource> to add. 

В настоящее время src/com/example/ui/res/values/strings.xml содержит следующее:

<resources> 
    <string name="app1_name">MyAppName</string> 
</resources> 

Я предпочел бы не должны изменить это на:

<resources> 
    <add-resource type="string" name="app1_name">MyAppName</add-resource> 
</resources> 

(Это было предложено на https://groups.google.com/forum/?fromgroups#!topic/android-porting/bYfeLEjERjg, хотя это даже не похоже, чтобы решить мою проблему.)

Am I Misguided в моем ожидании того, как -S аргумент должен работать?

Единственный способ решения проблемы я могу думать о том, чтобы симлинки все мои -S каталогов, подкаталогов корневого каталога res и указать res в качестве единственного -S каталога.

ответ

14

Я считаю, что решение должно использовать флаг --auto-add-overlay. Я обнаружил это, выполнив сценарий сборки Ant по умолчанию с -v для подробного режима.