Файл APK - это просто файл JAR с дополнительными файлами для Android, включая AndroidManifest.xml и classes.dex.
JAR-файл - это просто сжатый ZIP-файл с дополнительными метаданными (MANIFEST. MF и т. Д.) В папке (META-INF).
ZIP-файл представляет собой сжатое однофазное представление папки.
Итак, в гайке-оболочке все 3 формата это, по сути, только ZIPped-папка с дополнительными файлами метаданных формата.
Используйте утилиту dx для Android SDK для генерации всех трех форматов из одного и того же файла helloWorld.java, затем hexDump 3 файла, а затем разделите их на 2 время, чтобы подтвердить, что они почти идентичны, причем 4 байта, зависящие от формата, различны. Все остальные байты идентичны в 3 сгенерированных файлах.