APK là tên viết tắt của Android Package, là gói cài đặt Android. APK là một định dạng tệp tương tự như Symbian Sis hoặc Sisx. Bạn có thể cài đặt bằng cách chuyển trực tiếp file APK sang trình giả lập Android hoặc điện thoại Android để thực thi. Tệp APK thực tế ở định dạng zip, nhưng tên hậu tố được đổi thành apk. Sau khi giải nén nó thông qua UnZip, bạn có thể thấy tệp Dex. Dex là tên đầy đủ của Dalvik VM thực thi, là chương trình thực thi Android Dalvik. Nó không phải là mã byte của Java ME mà là mã byte Dalvik.
Cấu trúc của tệp APK là:
mete-INF Tệp Jar thường có thể thấy thư mục
res nơi lưu trữ các tệp tài nguyên
AndroidManifest. Tệp cấu hình chung của chương trình xml
classes. dex Mã byte Dalvik
resources. arsc Tệp tài nguyên nhị phân được biên dịch
Tóm lại, chúng tôi thấy rằng trước tiên Android cần UnZip khi chạy một chương trình, sau đó nó trực tiếp như Symbian, khác với tệp PE trong Windows Mobile. Điều này không được bảo mật và đáng tin cậy cho chương trình. Nó có thể được giải mã thông qua lệnh dexdump, nhưng điều này phù hợp với quy luật phát triển. Windows Gadgets hay WPF của Microsoft cũng sử dụng kiến trúc này.
Trong nền tảng Android, tệp thực thi của dalvik vm được đóng gói ở định dạng apk và trình tải thời gian chạy cuối cùng sẽ giải nén và lấy androidmanifest đã biên dịch. Quyền truy cập bảo mật liên quan đến nhánh quyền trong tệp xml, nhưng vẫn còn nhiều hạn chế về bảo mật. Nếu bạn chuyển tệp apk vào thư mục /system/app, bạn sẽ thấy rằng việc thực thi không bị hạn chế. Cuối cùng, các tệp chúng ta thường cài đặt có thể không có trong thư mục này và các tệp apk hệ thống trong rom android sẽ được đặt trong thư mục này theo mặc định và chúng có quyền root.