Actualización: Esta es una publicación anterior, y las referencias a continuación a las versiones rotas aapt
estarán desactualizadas.Reempaquetar archivo APK para que contenga recursos personalizados: ¿qué herramienta de compilación usar?
Basándose en la información anterior, estoy almacenando los campos de texto personalizados en el directorio activos de mi aplicación.
Escribiré la aplicación, utilizando los datos de usuario predeterminados en un archivo de activos, y el cliente desea reconstruir la aplicación para cada usuario, incluidos los detalles de ese usuario en el archivo de activos.
(soy consciente de que esto es método tiene algunas deficiencias graves, pero el cliente todavía está dispuesto a hacerlo de esta manera - ver Embed login details in APK file, different for each user (or other options?))
Esta pregunta se refiere a los problemas que estoy teniendo con la reconstrucción del archivo APK, una vez que lo haya descomprimido, y actualicé el archivo de activos personalizados. Estoy bastante convencido de que me falta algo pequeño, sin embargo, la documentación y las publicaciones que he encontrado sobre estos métodos no son lo suficientemente útiles para un recién llegado.
aapt - herramienta SDK de Android: Por desgracia los documentos de Android en "Uso aapt" en los documentos android [link] 2 a continuación son muy limitadas. El comando de consola -help muestra un poco más de información. Cuando trato de usarlo para agregar un archivo a test.apk, termina borrando el original y creando un nuevo archivo test.apk.zip que contiene solo el archivo que intenté agregar. No he podido encontrar la combinación de línea de comando correcta para tomar una aplicación descomprimida y volver a empaquetarla, ese sería mi primer premio.
apkbuilder - Herramienta SDK de Android: En primer lugar, esta herramienta está en desuso, lo cual es un punto negativo para ella. Tampoco puedo hacer que funcione con lo que tengo en esa carpeta descomprimida. Creo que me falta un paso previo al apkbuilder porque apkbuilder solicita un archivo zip de recursos y tengo una carpeta de recursos.
hormiga - herramienta de construcción: otras publicaciones similares dicen construir con hormiga, en lugar de utilizar las herramientas de Android. Tengo problemas para hacer que hormiga funcione. Un enlace particular para conseguir que Ant funcione con Android [enlace 3 a continuación] parece prometedor, pero parece que es para un sdk de Android diferente (mi build.xml que es generada por Android se ve diferente a la suya). Desafortunadamente, sé muy poco sobre la hormiga y tengo problemas para convertirme en un experto lo suficiente como para resolver mi problema actual.
En relación con la solución de nickt abajo - la ejecución del script hormiga me da el error
com.android.ant.SetupTask clase taskdef no se puede encontrar utilizando el cargador de clases AntClassLoader [].
He encontrado algunas referencias en línea a este error, he confirmado que local.properties tiene una configuración sdk.dir que apunta a mi carpeta de instalación de sdk de Android (sdk.dir =/Applications/android-sdk-mac_86).?????: Puede haber alguna otra opción que no he enumerado/descubierto, que me gustaría conocer.
Me doy cuenta de que profundizar en los engranajes que normalmente cubre mi ide puede dar lugar a dificultades. Pero sé que muchos de los usuarios de SO pueden hacer muchas de estas cosas, y espero obtener el interés de algunos de ellos. Gracias por cualquier ayuda.
(Eclipse 3.6 en Mac Snow Leopard 10.6 64 bit)
PD, aún no puedo publicar más de 1 hipervínculo, así que he incluido estas direcciones para mostrar más información sobre mi pregunta.
(1): stackoverflow.com/questions/4783160/embed-login-details-in-apk-file-different-for-each-user-or-other-options~~V~~3rd
(2): desarrollador .android.com/guía/desarrollo/tools/aapt.html
(3): www.disgruntledrats.com/?p=27
** Ver esto: ** http: // stackoverflow.com/questions/4191762/how-to-view-androidmanifest-xml-from-apk-file/4191807#4191807 –