Search code examples
androidapkpayload

does apk contain payloads or do I have to add them if I want to share my apps via an apk file?


I wanted to know if I have to add payloads or anything else to apk file if I want others to use it via the apk file ?


Solution

  • An APK file is an archive that usually contains the following files and directories:

    META-INF directory:

    MANIFEST.MF: the Manifest file

    CERT.RSA: The certificate of the application.

    CERT.SF: The list of resources and a SHA-1 digest of the corresponding lines in the MANIFEST.MF file; for example:

    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: the directory containing the compiled code that is platform dependent, the directory is split into more directories within it:

    armeabi: compiled code for all ARM based processors only

    armeabi-v7a: compiled code for all ARMv7 and above based processors only

    arm64-v8a: compiled code for all ARMv8 arm64 and above based processors only[8]

    x86: compiled code for x86 processors only

    x86_64: compiled code for x86 64 processors only

    mips: compiled code for MIPS processors only

    res: the directory containing resources not compiled into resources.arsc (see below).

    assets: a directory containing applications assets, which can be retrieved by AssetManager. AndroidManifest.xml: An additional Android manifest file, describing the name, version, access rights, referenced library files for the application. This file may be in Android binary XML that can be converted into human-readable plaintext XML with tools such as AXMLPrinter2, apktool, or Androguard.

    classes.dex: The classes compiled in the dex file format understandable by the Dalvik virtual machine and by the Android Runtime.

    resources.arsc: a file containing precompiled resources, such as binary XML for example.

    So, APK suppose to have all binaries and resources to use your app.