Estoy trabajando en un proyecto de código abierto. Como se pretende que cualquiera pueda descargar la fuente y compilarla, no quiero codificar el nombre del paquete en ningún lado, incluida la estructura del directorio.Android - ¿Cómo configuro dinámicamente el nombre del paquete en tiempo de compilación para un proyecto de código abierto?
Yo uso ant
para la construcción. Aparentemente puedo modificar build.xml
, pero creo que esto es sobrescrito por android update
. Lo que sea que se use estará comprometido con el repositorio de Git, y no debería ser demasiado complicado.
Actualmente, el proceso para construir el código directamente desde el repositorio Git es bastante simple. He aquí un extracto del archivo README
:
$ cd ~/src/isokeys/IsoKeys
$ android list targets # I build against API level 10.
$ android update project --name IsoKeys --target 1 --path ./ # Only needed first time.
$ ant debug && adb -d install -r bin/IsoKeys-debug.apk
Para mí, tiene sentido para poner el nombre del paquete en local.properties
, porque este es .gitignore
'd. Como el nombre del paquete no estará en ningún otro lado, la construcción fallará sin hacer esto. Por lo tanto, debe haber al menos 1 paso adicional en el README
, pero quiero mantenerlo al mínimo.
Editar: Por supuesto, otro requisito es que las diferenciaciones tienen sentido - que no lo hacen si cambia el nombre manualmente el nombre del paquete.
Esto parece bastante tonto. No he oído hablar de ningún proyecto de código abierto que salte a través de aros como este. –
Los dos motivos principales son que los diffs para un directorio renombrado son un problema, y que este y muchos otros proyectos de código abierto no tienen su propio dominio sino que están alojados en un sitio de alojamiento de código como sourceforge.net, etc. y los tenedores/fusiones son comunes. –