蚕豆网 > 最新资讯 > 安卓使用技巧

Android系统APK文件详解

什么是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字节码。

Android系统APK文件详解

什么是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 文件的结构是什么?

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

META-INF目录

META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclipse编译生成一个api包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。而在OPhone平台上安装apk包时,应用管理器会按照同样的算法对包里的文件做校验,如果校验结果与META-INF下的内容不一致,系统就不会安装这个apk。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk 包后,如果想要替换里面的一幅图片,一段代码, 或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于保护系 统的安全。

classes.dex文件

classes.dex是java源码编译后生成的java字节码文件。但由于Android使用的dalvik虚拟机与标准的java虚拟机是不兼容的,dex文件与class文件相比,不论是文件结构还是opcode都不一样。目前常见的java反编译工具都不能处理dex文件。

Android模拟器中提供了一个dex文件的反编译工具,dexdump。用法为首先启动Android模拟器,把要查看的dex文件用adb push上传的模拟器中,然后通过adb shell登录,找到要查看的dex文件,执行dexdump xxx.dex.

(责任编辑:王鹏飞

关注“蚕豆网”微信公众账号

蚕豆网
最新鲜的手游资讯,最麻辣的游戏测评,最全面的游戏攻略,还有那领不完的游戏礼包和最绿色的游戏下载,要啥有啥,应有尽有。

蚕豆网好游多

蚕豆网好游多
集游戏攻略、热门礼包为一体,为游戏玩家量身定做的手机游戏小伙伴!

蚕豆网好游多下载

蚕豆网好游多二维码

文章推荐

dnf2018帝国竞技场90A升级方法及所需材料一览 帝...

dnf2018帝国竞技场90A升级方法及所需材料一览 帝国竞技场怎么升级90A套 ,在dnf帝国竞技场要怎么升级90a套...[查看全文]

标签:dnf2018帝国竞技场dnf帝国竞技场90A升级时间dnf90散件升级90A

2018-10-18

第五人格黄衣之主新时装怎么样 第五人格黄衣之主...

第五人格黄衣之主新时装怎么样 第五人格黄衣之主新皮肤一览,第五人格黄衣之主新皮肤怎么样?黄衣之主出新时...[查看全文]

标签:第五人格黄衣之主第五人格黄衣之主新皮肤

2018-10-18

炉石传说复活牧卡组怎么玩 炉石传说复活牧卡组选...

炉石传说复活牧卡组怎么玩 炉石传说复活牧卡组选择推荐攻略,炉石传说牧师不会玩?在炉石传说中牧师有两种玩...[查看全文]

标签:炉石传说复活牧炉石传说复活牧卡组

2018-10-18

夫子的进阶试炼挂机这种游戏行为可能导致最严重的...

王者荣耀夫子的进阶试炼中的问题,挂机这种游戏行为可能导致最严重的惩罚是?下面一起来看一下正确答案吧。...[查看全文]

标签:

2018-10-18

奇迹暖暖街头定格嘻哈什么时候开始出现的答案...

奇迹暖暖街头定格活动中,有不少提问,其中就有嘻哈什么时候开始出现的?下面小编就为玩家带来奇迹暖暖街头...[查看全文]

标签:

2018-10-18
滑动加载
网站首页关于蚕豆网联系我们诚聘精英网站地图蚕豆网手机版蚕豆网手机客户端版权声明友情链接
鄂ICP备16001690号-2 鄂公网安备42010602001799号
Powered By CmsTop ©2017 蚕豆网 - Candou.com版权所有