# Apk 预装详解 站点:答源(https://www.dandroid.cn/) 原文:https://www.dandroid.cn/archives/20519 Canonical:https://www.dandroid.cn/archives/20519 作者:admin 发布日期:2023-09-15 最后更新:2023-09-15 17:28 分类:Android系统开发 / Framework源码 内容类型:post 说明:本页是原文的纯文本镜像,供大模型与检索器完整读取;不含导航、广告、付费框。引用请以上方「原文」链接为准。 ## 正文 文章基于 Aosp Android10_r41 版本。 本文介绍如何在 Aosp 中预装已经编译好的 apk。本文主要介绍基本操作,如果你熟练使用 Shell Python 等脚本类工具语言,可以参考本文的基本操作来实现 Apk 预装的自动化。 1. 不可卸载 Apk 不可卸载 Apk 一般是产品厂商开发的系统 App,比如闹钟,日历,浏览器等。 我们把使用 Android Studio 开发系统 App创建的项目 build 一个 release 版本的 apk 然后在源码的 device/Jelly/Rice14 目录下创建如下的目录与文件: AsSystemApp/ ├── Android.mk └── app-release.apk Android10 还未支持 Android.bp 中的 android_app_import 类型,所以我们目前只能使用 Android.mk 来添加我们的 apk。 其中 app-release.apk 是上述使用 Andrid Studio 打包好的 apk。 Android.mk 的内容如下: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_MODULE := AsSystemApp LOCAL_CERTIFICATE := PRESIGNED LOCAL_SRC_FILES := app-release.apk LOCAL_MODULE_CLASS := APPS LOCAL_PRODUCT_MODULE := true include $(BUILD_PREBUILT) 接着在 device/Jelly/Rice14/Rice14.mk 中添加: PRODUCT_PACKAGES += \ AsSystemApp 最后,编译系统,启动虚拟机: source build/envsetup.sh lunch Rice14-eng make -j16 emulator 打开虚拟机可以看到,我们的 app 已经预装好了且无法卸载: 参考资料 [RK3399] [android 7.1.2]添加预装应用 Android8.0.0-r4的APK的安装 --- 由 答源 DAN 底座 1.4.1 生成 · 2026-11-11T03:33:07+00:00