尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Android 9/14/15 预装 APK 的构建入口与分区差异

发布时间:2026/9/2 1:11:16

资讯中心
01
ARTICLE

Android 9/14/15 预装 APK 的构建入口与分区差异

Android 9/14/15 预装 APK 的构建入口与分区差异
摘要同一个 APK 在 Android 9、Android 14 和 Android 15 上可能需要使用不同的源码目录、构建规则和安装路径。EShare 在 Android 9/14 中位于device目录而 Android 15 位于vendor目录Android 14 支持的system_ext模块规则在 Android 9 中可能不生效。本文介绍如何判断当前平台的构建入口、选择模块编译或PRODUCT_COPY_FILES并通过最终产物确认 APK 的真实分区位置。1. 三个平台的目录并不相同项目中的 EShare 模块位于Android 9 device/hisilicon/bigfish/packages/modules/eshareserver Android 14 device/hisilicon/bigfish/packages/modules/eshareserver Android 15 vendor/kitking/packages/modules/eshareserver这不是简单的目录迁移。源码目录通常还决定哪个产品文件引入模块模块属于 system 还是 vendor使用哪套 Make/Soong 规则最终安装到哪个分区。因此跨 Android 版本移植时第一步不是复制目录而是找到当前产品的构建入口。2. 模块编译与原样拷贝如果 APK 能够被当前构建系统正确处理可以定义预编译模块include $(CLEAR_VARS) LOCAL_MODULE : EService LOCAL_SRC_FILES : apk/EService.apk LOCAL_MODULE_CLASS : APPS LOCAL_CERTIFICATE : platform include $(BUILD_PREBUILT)然后在产品配置中加入PRODUCT_PACKAGES EService这种方式的优点是构建系统知道模块依赖可以处理 JNI 库可以自动生成安装文件列表便于统一管理模块开关。但如果 APK 必须保持原始签名或者当前版本的模块规则不兼容可以使用PRODUCT_COPY_FILES \ path/EShareServer.apk:system/system_ext/app/EShareServer/EShareServer.apk这会把 APK 按原样复制到镜像指定位置。3.LOCAL_SYSTEM_EXT_MODULE不能跨版本想当然Android 14 模块中可能使用LOCAL_SYSTEM_EXT_MODULE : true它用于表达模块应安装到system_ext分区。但 Android 9 的构建系统不一定完整支持该变量。即使源码中写了它最终 APK 仍可能进入/system/app而不是/system/system_ext/app所以变量写在Android.mk中不等于最终路径一定符合预期。必须检查实际构建产物。4. 如何确认 APK 最终落在哪个分区常用检查文件out/target/product/product/installed-files.txt out/target/product/product/installed-files-system.txt out/target/product/product/installed-files-vendor.txt也可以直接搜索find out/target/product/product -iname *EShare*板端检查adb shell pm path com.eshare.receiver.tv adb shell ls -l /system/app adb shell ls -l /system/system_ext/app adb shell ls -l /vendor/app如果源码配置和最终产物不一致应优先检查产品文件是否真正includePRODUCT_PACKAGES条件是否满足目标模块是否被其他配置覆盖out目录是否残留旧产物当前 lunch 目标是否正确。5. 跨版本移植的正确顺序建议按照以下顺序操作确认 Android 版本和产品目标 ↓ 找到当前版本的产品配置入口 ↓ 确认可用的构建规则 ↓ 决定使用模块编译还是 PRODUCT_COPY_FILES ↓ 确认目标分区和安装路径 ↓ 查看 installed-files 产物 ↓ 烧录后通过 pm path 验证不要直接把 Android 14 的Android.mk复制到 Android 9也不要只根据源码变量判断 APK 是否进入了目标分区。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。