Documentación para el elemento aapt en la secuencia de comandos Ant

Estoy trabajando en algunos scripts de Ant para un sistema de compilación de Android y he encontrado un elemento para llamar aapt. He visto muchos ejemplos con

Exec ejecutable = "$ {aapt}"

Pero los que salen del archivo main_rules.xml utilizan un formato diferente

<aapt executable="${aapt}" command="package" debug="${build.packaging.debug}" manifest="AndroidManifest.xml" assets="${asset.absolute.dir}" androidjar="${android.jar}" apkfolder="${out.absolute.dir}" resourcefilename="${resource.package.file.name}" resourcefilter="${aapt.resource.filter}"> <res path="${resource.absolute.dir}" /> <!-- <nocompress /> forces no compression on any files in assets or res/raw --> <!-- <nocompress extension="xml" /> forces no compression on specific file extensions in assets and res/raw --> </aapt> 

Me gustaría cambiar el nombre del paquete utilizando este elemento, pero no puedo encontrar ninguna documentación sobre cómo usarlo. ¿Alguien sabe dónde puedo encontrar algo?

Gracias

No pude encontrar nada y terminé usando lo siguiente que parece funcionar

  <exec executable="${aapt}" failonerror="true"> <arg value="package" /> <arg value="-f" /> <arg value="-v" /> <arg value="-M" /> <arg path="AndroidManifest.xml" /> <arg value="-A" /> <arg path="assets" /> <arg value="-I" /> <arg path="${android.jar}" /> <arg value="-m" /> <arg value="-J" /> <arg path="${out.absolute.dir}" /> <arg value="-F" /> <arg path="${out.absolute.dir}/${resource.package.file.name}" /> <arg value="-S" /> <arg path="res" /> <arg value="--rename-manifest-package" /> <arg value="my.new.package.name" /> </exec> 

En la nueva (er) versión del SDK de Android, el script de construcción de hormigas funciona de una manera diferente. No invoca directamente el comando aapt a través de un elemento exec , sino que define una tarea aapt. Este último es implementado por la clase java com.android.ant.AaptExecTask . Esta clase sólo proporciona un subconjunto de las opciones de la línea de comandos aapt.

Puede encontrar una breve descripción de la correlación entre las opciones de línea de comandos de aapt y los parámetros de hormigas que aparecen a continuación como se encuentran en el documento de origen de java:

 Aapt Option Ant Name Type --------------------------------------------------------------------------------- path to aapt executable attribute (Path) command command attribute (String) -v verbose attribute (boolean) -f force attribute (boolean) -M AndroidManifest.xml manifest attribute (Path) -I base-package androidjar attribute (Path) -A asset-source-dir assets attribute (Path -S resource-sources <res path=""> nested element(s) with attribute (Path) -0 extension <nocompress extension=""> nested element(s) <nocompress> with attribute (String) -F apk-file apkfolder attribute (Path) outfolder attribute (Path) deprecated apkbasename attribute (String) basename attribute (String) deprecated -J R-file-dir rfolder attribute (Path) -m always enabled 

Por lo que he descubierto, no hay manera de proporcionar las opciones genéricas aapt a través de esta nueva tarea de construcción. Esto parece ser posible sólo tomando una copia modificada de build.xml del SDK con reemplazos para las invocaciones aapt.

Si alguien conoce una solución mejor, yo estaría encantado de leer, también 😉

EDIT: Incluso en las versiones más recientes del SDK, los paquetes de cambio de nombre introducidos nuevamente:

 Aapt Option --rename-manifest-package package-name Ant Name manifestpackage Type attribute (String) 

Dudo mucho que haya alguna documentación más allá del código fuente.

  • Android Ant construye usando $ {sdk.dir} en project.properties
  • La creación de la aplicación android con hormiga sólo
  • Uso de hormigas-fuente 7 o superior para permitir que el operador de diamante
  • Error de generación de hormigas
  • Referencia android.target.classpath no encontrada
  • Reempaquetar el archivo APK para contener elementos personalizados: ¿qué herramienta de compilación usar?
  • Ant depuración y liberación de hormigas falló
  • ¿Cómo incluir JAR en APK sin Eclipse?
  • Cómo crear build.xml para un proyecto de Android?
  • Y no importar R.java
  • Renaming classes.jar a <project_name> .jar mientras se construye un proyecto de biblioteca en android ant
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.