You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AOSP构建中系统应用原生库解压转换的具体步骤咨询

AOSP 10预构建APK原生库自动转未压缩的构建步骤解析

触发转换的核心规则

这个转换动作是由**BUILD_PREBUILT**规则触发的,具体逻辑定义在AOSP源码的build/core/apk_prebuilt.mk文件中,关键执行环节是uncompress_native_libraries目标。

具体处理流程

当你在Android.mk中使用include $(BUILD_PREBUILT)构建预构建APK时,AOSP会自动执行以下操作:

  • 解压原始APK到临时工作目录
  • 扫描APK内lib/路径下的所有.so文件,将这些文件的ZIP存储方式从压缩的DEFLATED改为未压缩的STORED
  • 重新打包修改后的内容生成新APK
  • 对新APK执行zipalign对齐和指定签名(即你配置的LOCAL_CERTIFICATE := platform)
  • 将最终处理后的APK输出到LOCAL_MODULE_PATH指定的目录

关于signapk和zipalign的说明

你排查的signapk和zipalign确实不负责修改压缩状态——它们仅在APK重新打包完成后,分别执行签名和对齐操作,不会改变.so文件的存储格式。

自定义后构建替换APK的建议

如果要在构建完成后替换该APK,可以通过在Android.mk中添加LOCAL_POST_INSTALL_CMD来指定自定义命令,示例如下:

LOCAL_POST_INSTALL_CMD := cp /path/to/your/custom.apk $(LOCAL_MODULE_PATH)/$(LOCAL_MODULE)$(LOCAL_MODULE_SUFFIX)

这条命令会在BUILD_PREBUILT完成所有默认处理(包括.so转未压缩、重新打包、签名对齐)之后,用你指定的自定义APK替换系统生成的版本。

内容的提问来源于stack exchange,提问作者philipp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 20:57:52