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

社区服务
高级搜索
猴岛论坛手机数码七讲:什么是APK文件?他和android手机是什么关系?
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
3个回复

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

楼层直达
Happy.Smile

ZxID:6428292

等级: 大尉
0.0.

举报 只看楼主 使用道具 楼主   发表于: 2010-07-20 0
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权限。
本帖de评分: 1 条评分 DB +20
DB+20

我很赞同


时光流年

、凋谢

ZxID:10496967

等级: 大校
快 看 , 有 灰 机!~
举报 只看该作者 沙发   发表于: 2010-07-21 0
支持~~
本帖de评分: 1 条评分 DB +1
DB+1

回复生财奖励

书一封旧长信

ZxID:10528423

等级: 禁止发言

举报 只看该作者 板凳   发表于: 2010-07-27 0
谢谢分享
夏无蝶

ZxID:10666759

等级: 元老
配偶: benq12
To0oTo0o------------------小蝶

举报 只看该作者 地板   发表于: 2010-08-02 0
额,专业了点,谢谢分享

« 返回列表
发帖 回复