2011-07-30 10 views
6

He visto algunas aplicaciones que invierten archivos .apk en archivos elementales. Me gustaría saber dónde puedo encontrar la especificación oficial de los archivos .apk, pero no llegué a ninguna parte. ¿Podría alguien explicarnos dónde buscar y cuáles son los mejores recursos sobre la especificación si no hay una especificación formal?¿No hay una especificación de formato oficial de .apk?

+0

archivos apk son archivos zip –

+0

@Alexandre: más precisamente, apk es un archivo jar, que es solo un archivo zip + algunas cosas. –

+0

Hay [un artículo de Wikipedia] (http://en.wikipedia.org/wiki/APK_%28file_format%29). –

Respuesta

7

No sé si hay una especificación oficial, sino de navegar por la estructura de archivos de mi aplicación, he deducido lo siguiente:

-La .apk es simplemente un archivo zip y se puede abrir como tal en cualquier aplicación adecuada (7zip, WinZip, WinRAR, herramienta .zip predeterminada de cualquier sistema operativo).

-Debe contener un archivo AndroidManifest.xml en el directorio raíz (aunque este es un archivo compilado .xml y no legible para el ser humano).

-Debe contener un archivo de clases que contenga el código binario real compilado como bytecode de Dalvik.

-Debe contener un archivo resources.arsc. Creo que es un índice de todo en la carpeta/res, pero no estoy seguro.

-Debe contener una carpeta META-INF en la raíz que contiene CERT.RSA, CERT.SF y MANIFEST.MF. Estos son los archivos de firma digital de la aplicación.

-La aplicación puede contener las carpetas/assets,/res y/raw que contienen archivos de recursos como imágenes y bases de datos.

-La aplicación puede contener una carpeta/lib que contiene carpetas para todos los destinos de código nativo (como armeabi), que contienen archivos .so (código nativo).

Probablemente me haya perdido un montón de cosas, pero esto debería darle un buen comienzo.

Cuestiones relacionadas