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

更多相关文章

  1. Android 应用程序之间内容分享详解(二)
  2. Android应用程序签名(官方文档中文版)
  3. 【Android FFMPEG 开发】Android Studio 工程配置 FFMPEG ( 动态
  4. Android架构分析之基于Android系统的C应用程序开发
  5. [原]Android应用程序消息处理机制(Looper、Handler)分析

随机推荐

  1. [置顶] Android(安卓)Binder跨进程与非跨
  2. Android中的icon适配
  3. Android第三方服务(1):语音识别(1)
  4. Android(安卓)自绘动画实现与优化实战—
  5. Android中绘制图表的开源框架AChartEngin
  6. Android(安卓)SurfaceView入门学习
  7. Android优质技术资源合集
  8. Android学习笔记13:表格布局管理器TableLa
  9. android xml解析生成探讨
  10. android:windowIsTranslucent &分享回调