2012-07-19 9 views
8

Estoy intentando construir R.java utilizando aapt desde la línea de comandos. Estoy especificando múltiples directorios -S porque tengo múltiples directorios res. Estoy construyendo mediante el uso de:¿Cómo puedo usar valores múltiples -S con aapt sin usar <add-resource>?

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

Por desgracia, estoy consiguiendo el error siguiente:

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. 

Actualmente, src/com/example/ui/res/values/strings.xml contiene lo siguiente:

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

yo preferiría no tener que cambie esto a:

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

(esto fue sugerido en https://groups.google.com/forum/?fromgroups#!topic/android-porting/bYfeLEjERjg, a pesar de que ni siquiera parece resolver mi problema.)

Am I equivocada en mi expectativa de cómo el argumento -S debería funcionar?

La única solución que se me ocurre es enlazar simbólicamente todos mis -S directorios como subdirectorios del directorio raíz res y para especificar res como el directorio sólo se -S.

Respuesta

14

Creo que la solución es usar la bandera --auto-add-overlay. Descubrí esto al ejecutar el script de compilación Ant predeterminado con -v para el modo detallado.

Cuestiones relacionadas