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

       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权限。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值