APK结构内部


APK结构

AndroidManifest.xml -配置清单
assets - 资源
lib - native 动态库 so
res - 资源库
smali - classes.dex
META-INF -签名   
resources.arsc- 语言包

详细

AndroidManifest.xml 、该文件是每个应用都必须定义和包含的,
它描述了应用的名字、版本、权限、引用的库文件等等信息,
如要把apk上传到Google Market上,也要对这个xml做一些配置。
在apk中的AndroidManifest.xml是经过压缩的。

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

META-INF目录、存放的是签名信息,
用来保证apk包的完整性和系统的安全。
直接解压缩、替换再重新打包,基本是不可能的。
反编译或者修改后必须重新签名。否则软件无法安装。
目录有三个文件,***.RSA、***.SF、***.MF.。件)

res目录存放资源文件。
包括图片,字符串等等。
res文件夹里存放的大部分是软件所需的资源及布局文件
(drawable存放资源、layout、xml存放布局文件***.xml),
部分需要汉化的单词、语句会在这些***.xml文件里。

resources.arsc文件、编译后的二进制资源文件。
resources.arsc文件是编译后的资源文件,大多数情况下,
需要汉化的单词、语句绝大多数都在这个文件里,
汉化的时候首先就要看这个文件。

lib目录、下的子目录armeabi
存放的是一些so文件。
eclipse在打包的时候会根据
文件名的命名规则(lib****.so)。

assets目录、可以存放一些配置文件,
这些文件的内容在程序运行过程中
可以通过相关的API获得。

正文完

评论区
个人资料

  • 博主木木
  • 运营天数2943
  • 文章阅读数 13605
  • 评论数量1
  • 文章数量83
搜索

倒计时