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?
Respuesta
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.
- 1. .Net ¿Dónde encontrar la especificación oficial del formato de serialización BinaryFormatter?
- 2. ¿Por qué no hay una referencia OFICIAL de JavaScript?
- 3. ¿Por qué no hay una fórmula PHP "oficial" para Homebrew?
- 4. ¿Hay una especificación de lenguaje Python?
- 5. Especificación del formato de almacén de claves JKS
- 6. ¿Hay un logotipo oficial de C#?
- 7. Especificación de una imagen en línea en formato Sphinx (restructuredtext)
- 8. ¿Dónde está la especificación del formato Thrift?
- 9. ¿Hay una versión mobi de la especificación de lenguaje Java?
- 10. Especificación del formato: "xml" ignorado con render_to_string
- 11. "fb: //" esquema de URL: ¿oficial o no?
- 12. : peligroso formato de una cadena literal y no hay argumentos formato
- 13. ¿Hay un logotipo oficial de Windows Presentation Foundation (WPF)?
- 14. Especificación del lenguaje PHP?
- 15. Un generador de código C++ de una especificación XML
- 16. WordPress WXR Especificación
- 17. ¿Cómo descargar ".apk" como ".apk"? (no como ".zip")
- 18. ¿Cómo puedo convertir un archivo jar en formato apk?
- 19. Especificación de sintaxis (probablemente BNF) de VBA?
- 20. ¿Hay un formato de fecha/hora que no tenga espacios?
- 21. Obtener detalles del certificado de una apk
- 22. ¿Cómo escribir una especificación funcional?
- 23. ¿Existe una aplicación de referencia/ejemplo de ASP.NET MVC oficial?
- 24. JSR: Especificación para evaluación vs Especificación para construir una implementación
- 25. ¿Existe una sintaxis de gradiente CSS3 "oficial"/estándar?
- 26. ¿Hay algún cambio de lenguaje o especificación planificado para una versión futura de Scala?
- 27. Creando una apk RESTful simple
- 28. ¿Cómo uso la API no oficial de Android Market?
- 29. ¿Hay alguna manera de detectar si el apk está almacenado en la tarjeta SD o no?
- 30. ¿Fin oficial de soporte para PHP4?
archivos apk son archivos zip –
@Alexandre: más precisamente, apk es un archivo jar, que es solo un archivo zip + algunas cosas. –
Hay [un artículo de Wikipedia] (http://en.wikipedia.org/wiki/APK_%28file_format%29). –