如果我想让其他人通过apk文件使用它,我想知道我是否必须向apk文件添加有效载荷或其他任何内容?
APK文件是一个存档,通常包含以下文件和目录:
META-INF目录:
MANIFEST.MF:清单文件
CERT.RSA:申请证书。
CERT.SF:MANIFEST.MF文件中相应行的资源列表和SHA-1摘要;例如:
签名版本:1.0
创建者:1.0(Android)
SHA1-Digest-Manifest:wxqnEAI0UA5nO5QJ8CGMwjkGGWE =
...
名称:res / layout / exchange_component_back_bottom.xml
SHA1-Digest:eACjMjESj7Zkf0cBFTZ0nqWrt7w =
名称:res / drawable-hdpi / icon.png
SHA1-Digest:DGEqylP8W0n0iV / ZzBx3MW0WGCA =
lib:包含与平台相关的编译代码的目录,该目录被拆分为更多目录:
armeabi:仅针对所有基于ARM的处理器编译的代码
armeabi-v7a:仅用于所有基于ARMv7及以上处理器的已编译代码
arm64-v8a:仅适用于所有ARMv8 arm64及以上处理器的编译代码[8]
x86:仅用于x86处理器的已编译代码
x86_64:仅用于x86 64处理器的已编译代码
mips:仅用于MIPS处理器的已编译代码
res:包含未编译到resources.arsc中的资源的目录(见下文)。
assets:包含应用程序资产的目录,可由AssetManager检索。 AndroidManifest.xml:附加的Android清单文件,描述应用程序的名称,版本,访问权限,引用的库文件。此文件可能是Android二进制XML,可以使用AXMLPrinter2,apktool或Androguard等工具将其转换为人类可读的纯文本XML。
classes.dex:以Dalxik虚拟机和Android Runtime可理解的dex文件格式编译的类。
resources.arsc:包含预编译资源的文件,例如二进制XML。
所以,APK假设有所有二进制文件和资源来使用你的应用程序。