Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Función API para extraer ficheros .png de la carpeta res deun fichro APK (https://www.clubdelphi.com/foros/showthread.php?t=87161)

Mena1 22-11-2014 16:10:48

Función API para extraer ficheros .png de la carpeta res deun fichro APK
 
Saludos tengo un proyecto de la universidad en el cual necesito realizar un programa en CBuilder que busque el fichero con nombre icon.png o que contenga la palabra icon dentro de esas carpetas y lo extraiga del fichero apk y sea guardado en otra dirección con un nombre de carpeta que usted defina. Me dicen que hay una api de windows quw puedo usar pero no se cuál es ni cómo usarla si alguien me pudiera ayudar se lo agradecería mucho.

escafandra 23-11-2014 12:04:47

Tendrás que explicar con precisión el problema que te mandan resolver. No hay APIs mágicas, hay problemas y estrategias para resolverlos.

Saludos.

Neftali [Germán.Estévez] 24-11-2014 12:29:54

Cita:

Empezado por Mena1 (Mensaje 485323)
Saludos tengo un proyecto de la universidad en el cual necesito realizar un programa en CBuilder que busque el fichero con nombre icon.png o que contenga la palabra icon dentro de esas carpetas y lo extraiga del fichero apk y sea guardado en otra dirección con un nombre de carpeta que usted defina. Me dicen que hay una api de windows quw puedo usar pero no se cuál es ni cómo usarla si alguien me pudiera ayudar se lo agradecería mucho.

Hola. Bienvenido al club.

Por lo que he entendido, quieres extraer de un fichero APK algunos archivos (icon) en un carpeta determinada.

Lo primero que hay que saber es que APK en un formato comprimido variante del JAR de java. Puedes leer más info aquí.

Desde delphi, puedes acceder a esos formatos comprimidos con algún componente. Por ejemplo, con ZIPMaster puedes abrir estos ficheros APK sin problemas y estraer el contenido.
Las verisones nuevas de Delphi traen soporte para ZIP como expliqué en esta entrada del blog, y por o que he visto también lo soportan sin problemas, ya que si descargas en ejemplo que hice en esa entrada (está el código completo) verás que permite extraer sin problemas el contenido de un fichero APK.

A partir de ahí sólo te queda trabajar con esto para buscar y estraer los ficheros que te interesen.

Como te han comentado, no necesitas ninguna API para esto.

Mena1 25-11-2014 14:33:07

saludos y gracias de antemano el proyecto de Universidad dice así:

Los archivos apk son ficheros para el sistema operativo Android los cuales contienen en su interior diversos ficheros, pero dentro de los mismos existe una carpeta con nombre res en la cual se encuentran otras carpetas que contienen ficheros de tipo .png. Usted debe realizar un programa en CBuilder que busque el fichero con nombre icon.png o que contenga la palabra icon dentro de esas carpetas y lo extraiga del fichero apk y sea guardado en otra dirección con un nombre de carpeta que usted defina. Es importante señalar que se pueden encontrar varios ficheros icon.png o con el nombre icon dentro de la carpeta res por lo que usted debe extraer el que mayor capacidad tenga. Se debe permitir realizarle la extracción de imágenes a varios ficheros .apk que se encuentran ubicados en una dirección específica de la PC.

Neftali [Germán.Estévez] 25-11-2014 16:00:14

Cita:

Empezado por Mena1 (Mensaje 485522)
...el proyecto de Universidad dice así:
Los archivos apk son ficheros para el sistema operativo Android



Correcto.

Cita:

Empezado por Mena1 (Mensaje 485522)
pero dentro de los mismos existe una carpeta con nombre res en la cual se encuentran otras carpetas que contienen ficheros de tipo .png.

Correcto.

Cita:

Empezado por Mena1 (Mensaje 485522)
Usted debe realizar un programa en CBuilder que busque el fichero con nombre icon.png o que contenga la palabra icon dentro de esas carpetas y lo extraiga del fichero apk

Parece que no es correcto en todos los casos,porque yo tengo aplicaciones publicadas que no tienen dichos ficheros. Mira más abajo que te adjunto la lista.

Cita:

Empezado por Mena1 (Mensaje 485522)
Es importante señalar que se pueden encontrar varios ficheros icon.png o con el nombre icon dentro de la carpeta res por lo que usted debe extraer el que mayor capacidad tenga. [/font]

Parece que también puede ser que no haya ninguno.


Cita:

Empezado por Mena1 (Mensaje 485522)
Se debe permitir realizarle la extracción de imágenes a varios ficheros .apk que se encuentran ubicados en una dirección específica de la PC.[/font]

Ok.
Parece que el propósito ha quedado más o menos claro (cuando aclares lo del tema del fichero icon).

Ejemplo de contenido de un APK:
Código:

R:\PTimeTracker\AndroidManifest.xml
R:\PTimeTracker\classes.dex
R:\PTimeTracker\lib
R:\PTimeTracker\META-INF
R:\PTimeTracker\res
R:\PTimeTracker\resources.arsc
R:\PTimeTracker\lib\armeabi
R:\PTimeTracker\lib\armeabi\gdbserver
R:\PTimeTracker\lib\armeabi\libPTimeTracker.so
R:\PTimeTracker\META-INF\ANDROIDD.RSA
R:\PTimeTracker\META-INF\ANDROIDD.SF
R:\PTimeTracker\META-INF\MANIFEST.MF
R:\PTimeTracker\res\drawable-hdpi
R:\PTimeTracker\res\drawable-ldpi
R:\PTimeTracker\res\drawable-mdpi
R:\PTimeTracker\res\drawable-xhdpi
R:\PTimeTracker\res\drawable-xxhdpi
R:\PTimeTracker\res\drawable-hdpi\ic_launcher.png
R:\PTimeTracker\res\drawable-ldpi\ic_launcher.png
R:\PTimeTracker\res\drawable-mdpi\ic_launcher.png
R:\PTimeTracker\res\drawable-xhdpi\ic_launcher.png
R:\PTimeTracker\res\drawable-xxhdpi\ic_launcher.png

Dicho esto, sirve lo que te comenté antes. Desde Delphi puede abrir, y extraer ficheros de un APK, como si se tratase de un ZIP. Sea con librerías propias (versiones nuevas) o de terceros (verisones antiguas).
No se si esperas que te hagamos el programa, pero no es el propósito de los foros.

Te recomiendo que intentes empezar con el problema y si te atascas preguntes aquí. Con algo más concreto que no poner el enunciado. en esa caso podremos ayudarte de forma más concreta.

Un saludo.

Mena1 26-11-2014 16:08:53

Gracias mano, voy a empezar a trabajar si me cualquier duda se las cuento.


La franja horaria es GMT +2. Ahora son las 14:54:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi