Ver la Versión Completa : [ CONSULTA ] Adjuntar archivos en las APK creadas
Buenas, la consulta es si puedo exportar tareas como APK con archivos adjuntos, ya sean imagenes, archivos pdf etc.
He estado buscando en Lecciones para principiantes "escenas" y no encuentro nada, no se si se podra hacer.. un saludo.
luk2009
06/04/14, 11:55:21
https://groups.google.com/forum/m/#!topic/tasker/vsypIfYfuSg
Gracias Luk2009 por contestar a Rsc a mi se me paso. Como verás Rsc en ese hilo he escrito yo. Te aconsejo ver lo que digo para que no te pase com a mi y te parezca que no funciona la alternativa que dan.
Caravantes
06/04/14, 19:18:00
Como verás Rsc en ese hilo he escrito yo. Te aconsejo ver lo que digo para que no te pase com a mi y te parezca que no funciona la alternativa que dan.
Para que nos enteremos todos... Porfa, pon aquí un resumen en la lengua de Cervantes.
Gracias por responder, se me ha adelantado Caravantes jeje, despues de leerlo varias veces con el traductor de google, no lo acabo de tener claro, aun asi estaba haciendo pruebas por si me aclaro... Seguire probando y si me entero como es lo intento explicar en un breve tuforial, sino tendremos que esperar a Mlesir. Un saludo.
Traducción Libre de un artículo de Darryl Zaldin : https://groups.google.com/forum/m/#!topic/tasker/vsypIfYfuSg
Para este ejemplo, me referire a la aplicación como "appdeprueba.apk", y el archivo de sonido como "sonidoprueba.wav".
1. METER EL ARCHIVO EN LA APK:
A- Cambiar la extensión del archivo que queremos incluir en la aplicación que hagamos con Tasker. En nuestro ejemplo quitamos. ".wav" y ponemos ".png"
B-Asignar un icono a una tarea; pero en lugar de un icono, selecciona sound.wav. mediante la opción "medios locales". Esta opción no dejará seleccionar una app para navegar por los archivos de nuestro móvil. A mi con ex plorer me da fallo, con file manager no.
En la tarea saldrá el icono de peligro indeterminado.
C- Ahora cuando creemos la apk con App factory este archivo se empaquetara en el archivo appdeprueba.apk cuando se exporta como aplicación.
Descomprimimos el archivo appdeprueba.apk.
Podemos comprobar que el archivo esta pero como custom.elnombrequesea.png en la carpeta:"res/drawable/xxxxxx.png". En mi caso Tasker al crear el archivo apk lo metió cómo "cust_animal_bear.png". Puedes identificarlo por tamaño del archivo, ya que será el tamaño exacto de la sound.wav originales y localizarlo fácilmente haciendo que el explorador de archivos los ordene por tamaño.
2. SACAR EL ARCHIVO DE LA APK: Crear tareas que hagan lo siguiente, la primera vez que la aplicación se ejecuta. Dado que App factory solo permite elegir una tarea para ser lanzada en la APLICACIÓN podemos hacer que la primera vez que lancemos esa tarea se ejecute la tarea que carga los archivos. Esto se consigue poniendo un If %Archivoscargados != 1 en la tarea que escojamos en App factory.
Luego en la tarea de cargar el archivo ponemos como última acción Establecer variable %Archivoscargados A 1
a. Cree una carpeta temporal en la tarjeta SD
b. Copia app.apk del directorio de datos/app en la carpeta temporal, y cambiar la extensión a .zip (es decir, appdeprueba.zip). No se puede buscar el archivo en la Acción "Copy File", por eso localizado con un explorador de archivos,y luego introduzca manualmente la ubicación del archivo. Por ejemplo "/ data/app/org.domain.appname-1.apk"
La carpeta data/app guarda los archivos apk originales, tal como los tenemos en la carpeta de tasker cuando lo exportamos como apk.
c. Extraer appdeprueba.zip en la carpeta temporal. O sea descomprimir.
d. Crear una carpeta permanente en la tarjeta SD
e. Copie el archivo de la carpeta temporal a la carpeta Permanente, cambiar el nombre a sonidodeprueba.wav (en mi caso, el archivo en mi tarjeta SD fue "temporary/res/drawable/ cust_animal_bear.png")
f. Elimine la carpeta temporal
ACLARACIONES:
La tarea que usemos para ponerle el "icono" puede ser cualquiera y ni tan siquiera tiene que servir para algo. Podemos utilizar por ejemplo una tarea que se llame " Falsa tarea" y como hay que ponerle una accion pues podemos poner detener o esperar un mili segundo y ya está.
Se pueden incluir el número que queramos de archivos, lo único que necesitamos es tantas tareas con esos falsos iconos como archivos queramos incluir.
Vale para todos los tipos de archivo y el tamaño según dice el autor es ilimitado.
Esto es lo que yo utilizo para hacer la tarea de extraer: (no esta probado)
CARGAR ARCHIVO (505)
A1: Crear directorio [ Dir:/mnt/sdcard/com.mlesir.gsm Crear todos:Apagado Usar Root:Encendido ]
A2: Crear directorio [ Dir:/mnt/sdcard/com.mlesir.gsm/temporal Crear todos:Apagado Usar Root:Encendido ]
A3: Crear directorio [ Dir:/mnt/sdcard/com.mlesir.gsm/archivos Crear todos:Apagado Usar Root:Encendido ]
A4: Copiar archivo [ Desde:/data/app/com.mlesir.gsm.apk A:/mnt/sdcard/com.mlesir.gsm/temporal Usar Root:Encendido ]
A5: Ejecutar consola [ Comando:mv /mnt/sdcard/com.mlesir.gsm/temporal/com.mlesir.gsm.apk /mnt/sdcard/com.mlesir.gsm/temporal/com.mlesir.gsm.zip Cuenta atrás (segundos):10 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: ]
A6: Descomprimir archivo [ Archivo:/mnt/sdcard/com.mlesir.gsm/temporal/com.mlesir.gsm.zip Eliminar zip:Encendido ]
<Ahora es ir cogiendo todos los archivos>
A7: Copiar archivo [ Desde:/mnt/sdcard/com.mlesir.gsm/temporal/pruebadesonido.png A:/mnt/sdcard/com.mlesir.gsm/archivos/pruebadesonido.wav Usar Root:Apagado ]
Caravantes
07/04/14, 02:13:21
1. METER EL ARCHIVO EN LA APK: Asignar un icono a una tarea; pero en lugar de un icono, seleccione sound.wav.
(Nota del traductor: ese archivo antes hay que cambiarle la extensión, quitamos. ".wav" y ponemos ".png" En la tarea saldrá el icono de peligro indeterminado) Este archivo se empaqueta en el archivo appdeprueba.apk cuando se exporta como aplicación, pero como custom.elnombrequesea.png en la carpeta:"res/drawable/xxxxxx.png". En mi caso Tasker al crear el archivo apk lo metió cómo "cust_animal_bear.png". Usted puede identificarlo por tamaño del archivo, ya que será el tamaño exacto de la sound.wav originales.
Resumiendo la idea: Ese procedimiento fue previsto para insertar en la aplicación un icono, y el truco consiste en usar cualquier otro archivo que haya sido renombrado como icono (png).
De lo cual deduzco que a la pregunta inicial ("¿puedo exportar tareas como APK con archivos adjuntos?") la respuesta es: hay un truco para hacerlo pero solo te permite UN único archivo adjunto.
Claro que, por otra parte, parece posible utilizar UN único archivo comprimido (ZIP) que tras la instalación (en la primera ejecución de la app) será descomprimido para generar distintos archivos.
No. A ver yo entiendo que puedes meter tantos archivos como tareas le metas. Que necesitas 6 archivos? Pues creas o utilizas seis tareas aunque sean inútiles. Con cada una de ellas haces lo que he dicho.
EDITO: es cierto que si mi apk consiste solo en una tarea solo puedo utilizar un archivo. Pero (esto no lo tengo seguro) creo que podrás meter en la apk más tareas o si no Exportar un proyecto con veinte tareas aunque en realidad solo usemos una.
EDITO 2: la tarea de sacar los archivos solo se tiene que hacer una vez. Por otro lado tasker en las apk solo permite lanzar una tarea. La solución : en la tarea que se dispara en la apk se le pone como primera acción un realizar tarea: "extraer archivos" con un IF %Contador ! = 1 Luego en esta tarea de extraer archivos se le pone como última acción Establecer variable %Contador A 1.
Antetodo gracias por aclararme las dudas, ya he localizado "manualmente" el archivo .png dentro de la ruga /res/drawable y bueno, organizando la carpeta por tamaño es facil de localizar.
El problema es que cuando lo intento hacer mediante una tarea, no renombra el archivo, .Lo he probado con otros archivos y si funciona y con el archivo "com.gmail.prueba.apk" no hay manera que lo renombre a "com.gmail.prueba.zip" por lo tanto no lo descomprime etc..
No obstante, suponiendo que consiga ejecutar la tarea veo los siguientes problemas
-Creo, que no es predecible el nombre que obtiene despues de todo el proceso, el archivo que se adjunta a la tarea, por lo tanto si se adjunta con el fin de integrarlo en la tarea se complica.
-Para conseguir el archivo, hay que acceder al sistema, asi que unicamente valdria para telefonos rooteados.
-Poder unir solo un archivo por tarea, aunque creo que la opcion que ha dado Caravantes de adjuntar un archivo .zip con varios archivos podria funcionar, sera cuestion de probarlo. Lo de utilizar varias tareas o proyectos para exportarlo a apk no sabia que se podis hacer, solo se convertir una unica tarea en una apk.
Bueno pues eso son los inconvenientes que yo veo, posiblemente ustedes que controlais mas tendreis soluciones para esto.
Copio aqui la tarea por si alguno veis en que puede fallar.
Cargar Archivo (70)
A1: Crear directorio [ Dir:/sdcard/cargararchivos Crear todos:Apagado Usar Root:Encendido ]
A2: Crear directorio [ Dir:/sdcard/cargararchivos/temporal Crear todos:Apagado Usar Root:Encendido ]
A3: Crear directorio [ Dir:/sdcard/cargararchivos/archivos Crear todos:Apagado Usar Root:Encendido ]
A4: Copiar archivo [ Desde:/data/app/com.gmail.prueba-1.apk A:/sdcard/cargararchivos/temporal Usar Root:Encendido ]
A5: Esperar [ MS:0 Segundos:3 Minutos:0 Horas:0 Días:0 ]
A6: Ejecutar consola [ Comando:mv /sdcard/cargararchivos/temporal/ com.gmail.prueba-1.apk /sdcard/cargararchivos/temporal/com.gmail.prueba-1.zip Cuenta atrás (segundos):10 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: ]
A7: Esperar [ MS:0 Segundos:3 Minutos:0 Horas:0 Días:0 ]
A8: Descomprimir archivo [ Archivo:/sdcard/cargararchivos/temporal/com.gmail.prueba-1.zip Eliminar zip:Encendido ]
En la acción A6 esta mal escrita la ruta de origen. Hay un espacio antes del com.gmail
El nombre si es predecible. Una vez que consigues encontrarlo será siempre el mismo en los que se instalen esa apk. Evidentemente te para otras apk tendrás que volver a encontrarlo.
Lo de acceder al sistema habría que probarlo, no lo se.
tito_chua
07/04/14, 08:27:50
Peronad que ensucie el hilo. ¿que hay de la opción de obtenerlo de internet? Es decir, descargarlo desde Dropbox o similar?
En la acción A6 esta mal escrita la ruta de origen. Hay un espacio antes del com.gmail.
Tenias razon, ese era el error, en Tasker no lo veia porque estaba en otra linea, gracias de nuevo.
De la forma que ha explicado Mlesir unicamente es para obtener los archivos descomprimiendo la aplicacion que se crea en la carpeta /data/app. Lo de obtenerlo de internet ni me lo habia planteado, pero supongo que con la accion HTTP GET o NAVEGAR A URL, poniendo la direccion de algun links y quizas ayudando con la accion Trackball podria lograrse, parece buena idea
Claro que, por otra parte, parece posible utilizar UN único archivo comprimido (ZIP) que tras la instalación (en la primera ejecución de la app) será descomprimido para generar distintos archivos.
Lo he probado y funciona, asi que se pueden adjuntar todos los archivos que se quieran sin ningun problema.
Otro problema que se me plantea es el icono de la app, al utilizarlo para adjuntar los archivos, cuando se exporta como apk, se queda sin icono.
cace0353
16/05/15, 19:24:40
Lo he probado y funciona, asi que se pueden adjuntar todos los archivos que se quieran sin ningun problema.
Otro problema que se me plantea es el icono de la app, al utilizarlo para adjuntar los archivos, cuando se exporta como apk, se queda sin icono.
Hola @Rsc (http://www.htcmania.com/member.php?u=531046), me interesa mucho tu solución.
Me estoy peleando con una apk desarrollada con Tasker y tengo unas 80 imágenes para subir, aparte de una base de datos que es un archivo de texto plano.
Lo he intentado hacer con HTTP Get e importándolo directamente como archivo o leyendo la variable %HTTPD a una variable %temp que escribo en un archivo. Pero no hay manera, ni como archivo TXT ni como HTML o XML.
He probado de importarlo poniendo todo el texto entre símbolos de comentario y tampoco (en el archivo de texto hay direcciones URL). El archivo original lo cuelgo de la carpeta Public de Dropbox. El original tiene unos 14 Kb y el que se descarga de Dropbox llega a los 124 Kb... pero no contiene los valores de mi base de datos! (si los contuviera los podria extraer procesándolos con Separar variable y estaria salvado...)
Lo has resuelto sin Root?. Por lo que veo debes acceder a la carpeta /data/data para coger el ZIP y extraerlo. Así que estaria limitando el uso del programa a usuarios Root...
De momento estoy colgadísimo. Cuando me acuesto lo veo "muy" claro. Al dia siguiente pruebo la solución y volvemos a estar en las mismas...
Hola @Rsc, me interesa mucho tu solución.
Buenas cace0353 siento no haberte contestado antes, no me había dado cuanta de la notificación que me salió en el foro hasta ahora. Ahora mismo me voy a trabajar y para variar llego muy tarde en cuento tenga un hueco lo miro, porque creo que tengo por algún lado el xml.
Un saludo
vBulletin® v3.8.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.