一 什么是APK?
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文件结构为:
META-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 7.0 使用apktool反编译apk
  2. 1.Android系统架构
  3. 主程序与widget
  4. Android(安卓)Intent机制实例详解(Activity篇)
  5. Android热补丁动态修复技术(四):完善框架①
  6. Android(安卓)NDK开发中引入OpenCV库
  7. android 应用程序自适应屏幕大小
  8. 自定义Android(cacerts.bks)添加根证书
  9. Android开发学习笔记:我的第一个Android程序--HelloWorld

随机推荐

  1. 补间动画--缩放动画XML
  2. Android系统框架概述
  3. Android打开activity的时候,设置editText
  4. 鉴客 Android中如何生成带圆角的Bitmap图
  5. 安卓控件属性
  6. Android EditText的设置以及软键盘的各种
  7. Android中TextView限制行数及末尾已省略
  8. android开机动画bootanimation
  9. Android之TextView属性大全
  10. android 通知Notification的使用小实例(振