发布时间:2026/6/27 17:00:10
MTK-Android12拷贝apk文件到指定目录-如system目录下
提示MTK-Android12拷贝apk文件到指定目录-如system目录下文章目录前言一、需求二、困难点三、参考资料-关联资料参考资料实现需求思路四、实现方案配置copy脚本-模块配置预编译模块到系统五、实验结果验证1、源码验证-编译结果验证2、源码验证-避坑指南3、机器开机后-验证结果总结前言这里讲一个拷贝操作就是拷贝apk文件到指定目录或者拷贝到自定义的目录一、需求MTK-Android12拷贝apk文件到指定目录-如system目录下。 最终关联的需求是:预制apk到指定目录是为了给客户准备资源客户上层应用端有自己的业务逻辑。大多数情况下就是为了实现预安装、引用自己点击点击安装。为什么不做预安装直接内置到系统里面去不就行了嘛问题是:很多app特别是低版本、签名等各种原因导致 内置不成功又不愿意仔细核查问题解决或者解决困难那么就直接模拟adb install pm install直接命令安装了。二、困难点以前搞过那么多也总结过那么多的笔记核心点搞清楚Android、Linux 体系下的分区的概念每个分区是做什么的。搞清楚分区基本的概念、作用、创建时机 等基础知识点。 不然 总觉得自己没问题实际操作下来就是看不到想要的结果徒劳。搞清楚普通文件和特殊文件apk、可执行文件等对于Android体系下它就判定你是特殊文件特殊文件在高版本Android11 之后基本上就因为安全机制不允许作为普通拷贝机制来实现了。 所以要了解并理解这些基本知识点不然又是徒劳。对于 分区概念参考之前笔记系统拷贝文件到data分区-/data/system目录-实战拷贝资源到vendor分区三、参考资料-关联资料参考资料如下是之前的一些 拷贝相关的笔记有必要了解一下特别是分区可以参考然后有个思路实际还是得实践相关的拷贝需求可以拿来即用的思想永远不会变的。开机内置拷贝二进制文件到/system/bin目录-并实现开机自启二进制脚本服务预制资源-拷贝文件-/system/lib/ 目录-拷贝可执行文件/system/bin/-拷贝文件到/system/etc/permissions目录系统拷贝文件到data分区-/data/system目录-实战拷贝资源到vendor分区Rk-内置应用作为系统Launcher-内置APK-拷贝文件-替换开机动画拷贝预置资源到vendor分区-/vendor/lib目录/vendor/lib/hw目录-vendor/etc目录-拷贝可执行文件配置系统拷贝预置资源-拷贝到/system/bin目录-拷贝可执行文件并启动-拷贝到product/etc分区-拷贝到system/etc分区实现需求思路如上参考资料还是有必要看的特别是基础比较弱的有基础的可以直接略过。那么基本思路直接预编译的方式实现在编译的过程中拷贝特殊文件apk格式的文件具体来说如下写成模块方式然后在系统配置文件中配置文件四、实现方案配置copy脚本-模块LOCAL_PATH:$(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE:preinstall_apkLOCAL_MODULE_TAGS:optionalLOCAL_SRC_FILES:2_37a55513dd063cbc9527e73f7c0603d1.apkLOCAL_MODULE_CLASS:ETCLOCAL_MODULE_PATH:$(TARGET_OUT)/preloadappLOCAL_INSTALLED_MODULE_STEM:2_37a55513dd063cbc9527e73f7c0603d1.apk include $(BUILD_PREBUILT)配置的另外一个拷贝脚本模块如下LOCAL_PATH:$(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE:copy_apk_folderLOCAL_MODULE_TAGS:optionalLOCAL_SRC_FILES:2_a7d8ca7072b82c5d927eadb352510166.apkLOCAL_MODULE_CLASS:ETCLOCAL_MODULE_PATH:$(TARGET_OUT)/preloadappLOCAL_INSTALLED_MODULE_STEM:2_a7d8ca7072b82c5d927eadb352510166.apk include $(BUILD_PREBUILT)配置预编译模块到系统路径/device/mediatek/system/common/device.mk,其实就是配置预编译的模块PRODUCT_PACKAGESpreinstall_apkPRODUCT_PACKAGEScopy_apk_folder五、实验结果验证1、源码验证-编译结果验证源文件如红色标记编译后生成对应到对应的目录如黄色标记。生成的文件路径/out_sys/target/product/mssi_64_cn/obj/PACKAGING/target_files_intermediates/sys_mssi_64_cn-target_files-1rck61v164bspP17/SYSTEM/preloadapp//out_sys/target/product/mssi_64_cn/obj/PACKAGING/system_target_files_intermediates/sys_mssi_64_cn-system_target_files/SYSTEM/preloadapp//out_sys/target/product/mssi_64_cn/system/preloadapp/2、源码验证-避坑指南如上看编译后拷贝的文件目录是out_sys并不是out目录 这个跟分区有关系我们是直接拷贝到system 目录下然后自动创建了一个preloadapp文件夹所以切不可在out目录里面找呀找怎么都找不到位置搞错了。3、机器开机后-验证结果C:\Users\Administratoradb shell k69v1_64_k419:/$ su k69v1_64_k419:/# cd/system/preloadapp k69v1_64_k419:/system/preloadapp # ls-l total275348-rw-r--r--1root root1549397032009-01-0108:002_37a55513dd063cbc9527e73f7c0603d1.apk-rw-r--r--1root root1270452322009-01-0108:002_a7d8ca7072b82c5d927eadb352510166.apk总结这篇知识点实际上还是一个拷贝的技能点在实际需求中常见但是这里拷贝的是特殊的文件apk文件需要对特殊文件拷贝有一定的概念和掌握实际的拷贝知识点涉及到分区知识点、拷贝文件格式、拷贝位置、拷贝方式的一些必备知识点需要掌握拿来主义拿着直接用遇到问题自己多思考然后掌握基本技能

相关新闻

hive数据仓库
2026/6/27 17:00:10

hive数据仓库

Hive 数据仓库 给大数据当“翻译官” 中学生版 📚 零基础友好 | ⚡ 比喻向 | 🧠 5 分钟读懂 | ✨ 不用写代码也能懂🧩 如果 Hadoop 是一个巨大的“数据仓库”,那 Hive 就是帮你跟仓库对话的“翻译官”。 你只需要说一句 “像英语…

阅读更多
Awesome .NET Core:2 万 Star 的 .NET Core 资源大全
2026/6/27 17:00:10

Awesome .NET Core:2 万 Star 的 .NET Core 资源大全

文章目录Awesome .NET Core:2 万 Star 的 .NET Core 资源大全到底收录了什么为什么这个项目能活这么久适合什么人用一点不足Awesome .NET Core:2 万 Star 的 .NET Core 资源大全 做 .NET Core 开发的人,应该都听过 awesome-dotnet-core 这个项…

阅读更多
基于LTE Cat.1的工业物联网RTU设计与优化
2026/6/27 16:00:10

基于LTE Cat.1的工业物联网RTU设计与优化

1. 项目背景与核心价值在工业物联网和远程监控领域,RTU(远程终端单元)作为连接物理设备与上层系统的关键节点,其性能与可靠性直接影响整个系统的运行效率。传统RTU多采用2G模块,但随着2G退网进程加速,基于L…

阅读更多
终极指南:如何用wechat-need-web浏览器插件解锁微信网页版完整功能
2026/6/27 19:00:10

终极指南:如何用wechat-need-web浏览器插件解锁微信网页版完整功能

终极指南:如何用wechat-need-web浏览器插件解锁微信网页版完整功能 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 还在为微信网页版无法正…

阅读更多
Claude 模型对比:claude-3.5 / claude-3.7 / claude-4 怎么选
2026/6/27 19:00:10

Claude 模型对比:claude-3.5 / claude-3.7 / claude-4 怎么选

Anthropic 在 2024 到 2026 年密集发布了多个 Claude 版本,每代的定位和能力差异比较明显。本文梳理 claude-3.5、claude-3.7、claude-4 三代模型在推理、编程、长文本、创作等核心任务上的差异,帮助你在选型时心里更有数。 Claude 模型版本为什么容易看…

阅读更多
OC冒烟测试套件正式开源:轻量级、自动化,为系统镜像“健康体检”
2026/6/27 19:00:10

OC冒烟测试套件正式开源:轻量级、自动化,为系统镜像“健康体检”

在操作系统的研发与构建过程中,如何快速验证一个新生成的镜像是否“健康”?这往往是开发者面临的第一道关卡。为了解决这一问题,OpenCloudOS 社区正式开源了 os_smoke —— 一套专为操作系统设计的轻量级、自动化冒烟测试工具。它主要用于在系…

阅读更多
微信网页版终极解锁指南:5分钟解决无法登录问题
2026/6/27 19:00:10

微信网页版终极解锁指南:5分钟解决无法登录问题

微信网页版终极解锁指南:5分钟解决无法登录问题 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 还在为微信网页版无法正常登录而烦恼吗&am…

阅读更多
微信网页版终极解锁指南:wechat-need-web浏览器插件完整教程
2026/6/27 19:00:10

微信网页版终极解锁指南:wechat-need-web浏览器插件完整教程

微信网页版终极解锁指南:wechat-need-web浏览器插件完整教程 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 还在为微信网页版无法正常登录…

阅读更多
硬核深度|HyperFrames 全解析:纯 HTML 一键导出 MP4,AI Agent 专属视频渲染神器
2026/6/27 18:00:10

硬核深度|HyperFrames 全解析:纯 HTML 一键导出 MP4,AI Agent 专属视频渲染神器

做技术短视频、数据动画、批量营销视频、教程片头的开发者基本都踩过两类大坑: 剪辑工具门槛高:PR/AE 时间轴、关键帧、表达式学习成本极高,批量改内容需要重复手动操作,无法自动化;代码视频框架水土不服:主…

阅读更多
嵌入式语音编解码实战:G.726 ADPCM库集成与优化指南
2026/6/27 13:00:21

嵌入式语音编解码实战:G.726 ADPCM库集成与优化指南

1. 项目概述与G.726 ADPCM技术背景在嵌入式语音处理领域,带宽和存储资源往往是寸土寸金的。如果你做过对讲机、VoIP网关或者早期的数字录音设备,一定对如何在有限的比特率下保住语音可懂度这件事深有感触。我当年接手一个车载调度系统的项目,…

阅读更多
ITU656格式化器寄存器配置实战:VBI数据处理与VCR特技播放兼容性
2026/6/27 16:59:21

ITU656格式化器寄存器配置实战:VBI数据处理与VCR特技播放兼容性

1. 项目概述与核心挑战在数字视频处理领域,将原始的视频数据、同步时序以及各种辅助信息打包成一个标准、稳定的串行数据流,是确保设备间互联互通的基础。ITU-R BT.656标准(常简称为ITU656)正是为此而生的一套“交通规则”。它定义…

阅读更多
嵌入式GUI开发实战:emWin环境搭建、配置优化与性能调优指南
2026/6/27 13:00:17

嵌入式GUI开发实战:emWin环境搭建、配置优化与性能调优指南

1. 项目概述与emWin核心价值解析在嵌入式系统开发领域,人机交互(HMI)的设计正从简单的LED指示灯和按键,快速向全彩图形化界面演进。无论是智能家电上的触摸屏、工业PLC的操作面板,还是医疗设备的参数显示,一…

阅读更多
139、飞控中的气压计选型:MS5611、BMP280
2026/6/27 0:00:07

139、飞控中的气压计选型:MS5611、BMP280

飞控中的气压计选型:MS5611、BMP280 从一次炸机说起 去年夏天调试一架四轴,气压计定高模式,悬停时高度波动从0.3米慢慢变成1.5米,最后直接飘到3米开外,切回自稳才救回来。落地一看日志,气压值在起飞后20分钟开始出现周期性跳变,每5秒跳一次,幅度相当于2米高度变化。当…

阅读更多
专业级Iwara视频下载工具深度解析:3大核心特性与架构设计实战指南
2026/6/27 0:00:07

专业级Iwara视频下载工具深度解析:3大核心特性与架构设计实战指南

专业级Iwara视频下载工具深度解析:3大核心特性与架构设计实战指南 【免费下载链接】IwaraDownloadTool Iwara 下载工具 | Iwara Downloader 项目地址: https://gitcode.com/gh_mirrors/iw/IwaraDownloadTool IwaraDownloadTool是一款专为Iwara视频平台设计的…

阅读更多
Iwara视频下载工具:轻松批量下载Iwara平台视频的完整指南
2026/6/27 0:00:07

Iwara视频下载工具:轻松批量下载Iwara平台视频的完整指南

Iwara视频下载工具:轻松批量下载Iwara平台视频的完整指南 【免费下载链接】IwaraDownloadTool Iwara 下载工具 | Iwara Downloader 项目地址: https://gitcode.com/gh_mirrors/iw/IwaraDownloadTool Iwara视频下载工具是一款专为Iwara平台设计的智能下载解决…

阅读更多
GIT修改用户名
2026/6/27 5:38:22

GIT修改用户名

在GIT中修改用户名可按以下步骤操作: 查看当前git的用户名,使用命令git config --list或git config user.name。修改git用户名,使用命令git config --global user.name "xxx(新的用户名)",将其中…

阅读更多
Win11Debloat:让你的Windows系统重获新生的终极优化工具
2026/6/26 13:36:46

Win11Debloat:让你的Windows系统重获新生的终极优化工具

Win11Debloat:让你的Windows系统重获新生的终极优化工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and …

阅读更多
技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践
2026/6/26 13:36:41

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter m4s-converter是一个…

阅读更多