8
  • APK文件的组成部分是什么?
  • 它只是一堆可执行文件吗?
  • 组件的名称是什么?
4

4 回答 4

12

APK 文件是通常包含以下文件夹的存档:

  • META-INF目录:

    • MANIFEST.MF:清单文件
    • CERT.RSA:应用程序的证书。
    • CERT.SF:MANIFEST.MF文件中对应行的资源列表和SHA-1摘要;例如:

       Signature-Version: 1.0 
       Created-By: 1.0 (Android)  SHA1-Digest-Manifest:
       wxqnEAI0UA5nO5QJ8CGMwjkGGWE=  
       ...  
       Name: res/layout/exchange_component_back_bottom.xml  SHA1-Digest:
       eACjMjESj7Zkf0cBFTZ0nqWrt7w=  
       ...  
       Name: res/drawable-hdpi/icon.png 
       SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=
      
  • lib:包含特定于处理器软件层的编译代码的目录,该文件夹在其中分为更多文件夹:

    • armeabi:仅针对所有基于 ARM 的处理器的编译代码
    • armeabi-v7a:仅适用于所有基于 ARMv7 及以上处理器的编译代码
    • x86:仅适用于 x86 处理器的编译代码
    • mips:仅适用于 MIPS 处理器的编译代码
  • res:包含未编译到 resources.arsc 中的资源的目录。

  • assets : 包含应用程序资产的目录,可以由 AssetManager 检索。

  • AndroidManifest.xml:一个附加的 Android 清单文件,描述应用程序的名称、版本、访问权限、引用的库文件。此文件可能是 Android 二进制 XML,可以使用 AXMLPrinter2、apktool 或 Androguard 等工具转换为人类可读的纯文本 XML。

  • classes.dex : 编译成 Dalvik 虚拟机可理解的 dex 文件格式的类

    resources.arsc:包含预编译资源的文件,例如二进制 XML。

资源

于 2013-09-10T11:21:35.477 回答
11
[APK] 
|
|_ _ _ _ DALVIK EXECUTABLE < This is a code that runs the android app >
|
|_ _ _ _ RESOURCES < Images, video files, Audio files, xml files, Language packs >
|
|_ _ _ _ NATIVE LIBRARIES < some native code that include c & c++ libraires >
于 2013-09-10T11:10:55.377 回答
6

您可以提取您的 apk 以查看其中的内容,只需将其重命名为“apkname.zip”即可。

重命名后,您可以像普通的 zip 文件一样提取它。我想这就是您想要看到的。

于 2013-09-10T11:11:12.313 回答
2

一个 apk 文件包含该程序的所有代码(例如 .dex 文件)、资源、资产、证书和清单文件。

于 2013-09-10T11:10:27.523 回答