您的位置:首页 > 移动开发 > Android开发

七讲:什么是 APK 文件?它和 android 手机是什么关系?

2014-11-25 17:04 309 查看
APK 是 Android Package 的缩写,即 Android 安装包。APK 是类似 Symbian Sis 或 Sisx 的文件格式。通过将 APK 文件直接传到Android 模拟器或 Android 手机中执行即可安装。

APK 文件其实是 zip 格式,但后缀名被修改为 apk,通过 UnZip 览压后,可以看到 Dex 文件,Dex 是 Dalvik VM executes 的全称,即 Android Dalvik 执行程序,并非 Java ME 的字节码而是Dalvik 字节码。

一个 APK 文件结构为:

mete-INF Jar 文件中常可以看到

res 存放资源文件的目录

AndroidManifest.xml 程序全局配置文件

classes.dex Dalvik 字节码

resources.arsc 编译后的二进制资源文件

总结下我们发现 Android 在运行一个程序时首先需要 UnZip,然后类似 Symbian 那样直接,和 Windows Mobile 中的 PE 文件有区别, 这样做对于程序的保密性和可靠性不是很高, 通过 dexdump 命令可以反编译, 但这样做符合发展规律, 微软的 Windows Gadgets或者说 WPF 也采用了这种构架方式。

在 Android 平台中 dalvik vm 的执行文件被打包为 apk 格式,最终运行时加载器会览压然后获取编译后的 androidmanifest.xml文件中的 permission 分支相关的安全讵问,但仍然存在很多安全限制,如果你将 apk 文件传到/system/app 文件夹下会发现执行是不受限制的。 最终我们平时安装的文件可能不是这个文件夹,
而在 android rom 中系统的 apk 文件默认会放入这个文件夹, 它们拥有着 root权限。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐