Нет официальной спецификации формата .apk? - PullRequest
8 голосов
/ 30 июля 2011

Я видел некоторые приложения, которые преобразовывают файлы .apk в элементарные файлы.Я хотел бы знать, где я могу найти официальную спецификацию файлов .apk, но я не достиг нигде!Может ли кто-нибудь рассказать нам о том, где искать и каковы лучшие ресурсы о спецификации, если нет формальной спецификации?

1 Ответ

8 голосов
/ 30 июля 2011

Я не знаю, есть ли официальная спецификация, но, просматривая файловую структуру моего приложения, я вывел следующее:

- .apk - это просто zip-файл, который можно открыть как таковой в любом подходящем приложении (7zip, WinZip, WinRAR, инструмент по умолчанию для любой ОС .zip).

-Он должен содержать файл AndroidManifest.xml в корневом каталоге (хотя это скомпилированный файл .xml и не предназначен для чтения человеком).

-Он должен содержать файл classes.dex, содержащий фактический двоичный код, скомпилированный как байт-код Dalvik.

-Он должен содержать файл resources.arsc. Я считаю, что это индекс всего в папке / res, но я не уверен.

-Он должен содержать папку META-INF в корневом каталоге, содержащую CERT.RSA, CERT.SF и MANIFEST.MF. Это файлы цифровой подписи приложения.

-Приложение может содержать папки / assets, / res и / raw, которые содержат файлы ресурсов, такие как изображения и базы данных.

-Приложение может содержать папку / lib, содержащую папки для всех целей собственного кода (например, armeabi), которые содержат файлы .so (собственный код).

Я, вероятно, пропустил кучу вещей, но это должно дать вам хорошее начало.

...